docker命令整理
文章目录
- 语法
- option
- 管理命令
- container
- image
- network
- node
- plugin
- secret
- service
- stack
- swarm
- system
- volume
- 容器生命周期管理
- run
- start/stop/restart
- kill
- rm
- pause/unpause
- create
- exec
- 容器操作
- ps
- inspect
- top
- attach
- events
- logs
- wait
- export
- port
- 容器rootfs命令
- commit
- cp
- diff
- 镜像仓库 login
- logout
- pull
- push
- search
- 本地镜像管理
- images
- rmi
- tag
- build
- history
- save
- load
- import
- info|version info
- version
语法
docker COMMAND [options]
option
--config string Location of client config files (default "/root/.docker")-D, --debug Enable debug mode--help Print usage-H, --host list Daemon socket(s) to connect to (default [])-l, --log-level string Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info")--tls Use TLS; implied by --tlsverify--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")--tlskey string Path to TLS key file (default "/root/.docker/key.pem")--tlsverify Use TLS and verify the remote-v, --version Print version information and quit
管理命令
container
管理containers。见后面
image
管理 images。见后面
network
管理networks。
语法:
docker network COMMAND
子命令
connect Connect a container to a networkcreate Create a networkdisconnect Disconnect a container from a networkinspect Display detailed information on one or more networksls List networksprune Remove all unused networksrm Remove one or more networks
node
管理Swarm节点。需要swarm。
plugin
管理plugins。
子命令:
create Create a plugin from a rootfs and configuration. Plugin data directory must contain config.json and rootfs directory.disable Disable a pluginenable Enable a plugininspect Display detailed information on one or more pluginsinstall Install a pluginls List pluginspush Push a plugin to a registryrm Remove one or more pluginsset Change settings for a pluginupgrade Upgrade an existing plugin
secret
管理Docker secrets。需要swarm。
子命令:
create Create a secret from a file or STDIN as contentinspect Display detailed information on one or more secretsls List secretsrm Remove one or more secrets
service
管理services。需要swarm。
子命令:
create Create a new serviceinspect Display detailed information on one or more servicesls List servicesps List the tasks of a servicerm Remove one or more servicesscale Scale one or multiple replicated servicesupdate Update a service
stack
管理Docker stacks。需要swarm。
子命令:
deploy Deploy a new stack or update an existing stackls List stacksps List the tasks in the stackrm Remove the stackservices List the services in the stack
swarm
Manage Swarm。
system
管理Docker。
子命令:
df Show docker disk usageevents Get real time events from the serverinfo Display system-wide informationprune Remove unused data
volume
管理volumes。
语法:
docker volume COMMAND
子命令
create Create a volumeinspect Display detailed information on one or more volumesls List volumesprune Remove all unused volumesrm Remove one or more volumes
容器生命周期管理
run
功能
创建一个新的容器并运行一个命令
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
参数
OPTIONS说明:
--a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
--d: 后台运行容器,并返回容器ID;
--i: 以交互模式运行容器,通常与 -t 同时使用;
--P: 随机端口映射,容器内部端口随机映射到主机的高端口
--p: 指定端口映射,格式为:主机(宿主)端口:容器端口
--t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-–name=“nginx-lb”: 为容器指定一个名称;
-–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
-–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
--h “mars”: 指定容器的hostname;
--e username=“ritchie”: 设置环境变量;
-–env-file=[]: 从指定文件读入环境变量;
-–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
--m:设置容器使用内存最大值;
-–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
-–link=[]: 添加链接到另一个容器;
-–expose=[]: 开放一个端口或一组端口;
-–volume , -v: 绑定一个卷
示例
#使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
#使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
#使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
#绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
#使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
runoob@runoob:~$ docker run -it nginx:latest /bin/bash
start/stop/restart
功能
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
语法
docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]
参数
Options:
-a, --attach Attach STDOUT/STDERR and forward signals
–detach-keys string Override the key sequence for detaching a container
–help Print usage
-i, --interactive Attach container’s STDIN
kill
功能
杀掉一个运行中的容器。
语法
docker kill [OPTIONS] CONTAINER [CONTAINER...]
参数
OPTIONS说明:
--s:向容器发送一个信号
示例
#杀掉运行中的容器mynginx
runoob@runoob:~$ docker kill -s KILL mynginx
rm
功能
删除一个或多个容器。
语法
docker rm [OPTIONS] CONTAINER [CONTAINER...]
参数
OPTIONS说明:
--f:通过 SIGKILL 信号强制删除一个运行中的容器。
--l:移除容器间的网络连接,而非容器本身。
--v:删除与容器关联的卷。
stop,rm,kill区别
- docker stop
将容器保留在docker ps -a列表中(如果您想将其状态保存在新image中,则可以提交该容器)。它先发送SIGTERM,然后在宽限期之后发送SIGKILL。优雅退出。 - docker rm
将从docker ps -a列表中删除容器,丢失其“状态”(写在image文件系统顶部的分层文件系统)。它无法删除正在运行的容器(除非使用调用-f,在这种情况下,它将直接发送SIGKILL)。 - docker kill
发送SIGKILL信号,应用程序直接退出。
在生命周期方面,应该首先停止容器,然后再将其删除。
pause/unpause
功能
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。
语法
docker pause [OPTIONS] CONTAINER [CONTAINER...]
docker unpause [OPTIONS] CONTAINER [CONTAINER...]
参数
create
功能
创建一个新的容器但不启动它。create的容器,可以通过start命令启动。
语法
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
参数
同docker run
exec
功能
在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
参数
OPTIONS说明:
--d:分离模式: 在后台运行
--i:即使没有附加也保持STDIN 打开
--t:分配一个伪终端 。(在crontab等非前端任务中,如果加此参数,会提示:the input device is not a TTY)
示例
#在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本:
runoob@runoob:~$ docker exec -it mynginx /bin/sh /root/runoob.sh#在容器 mynginx 中开启一个交互模式的终端:
runoob@runoob:~$ docker exec -i -t mynginx /bin/bash
容器操作
ps
功能
列出容器
语法
docker ps [OPTIONS]
参数
OPTIONS说明:
--a:显示所有的容器,包括未运行的。
--f:根据条件过滤显示的内容。
-–format:指定返回值的模板文件。
--l:显示最近创建的容器。
--n:列出最近创建的n个容器。
-–no-trunc:不截断输出。
--q:静默模式,只显示容器编号。
--s:显示总的文件大小。
inspect
功能
获取容器/镜像的元数据。
语法
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
参数
OPTIONS说明:
--f:指定返回值的模板文件。
--s:显示总的文件大小。
-–type:为指定类型返回JSON。
top
功能
查看容器中运行的进程信息,支持 ps 命令参数。
语法
docker top [OPTIONS] CONTAINER [ps OPTIONS]
参数
attach
功能
连接到正在运行中的容器。
要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。
官方文档中说attach后可以通过CTRL-C来detach,但实际上经过测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上**–sig-proxy=false**来确保CTRL-D或CTRL-C不会关闭容器。
语法
docker attach [OPTIONS] CONTAINER
参数
Options:
–detach-keys string Override the key sequence for detaching a container
–help Print usage
–no-stdin Do not attach STDIN
–sig-proxy Proxy all received signals to the process (default true)
events
功能
从服务器获取实时事件
语法
docker events [OPTIONS]
参数
OPTIONS说明:
-**-f :根据条件过滤事件;
-–since :从指定的时间戳后显示所有事件;
-–until :**流水时间显示到指定的时间为止;
logs
功能
获取容器的日志
语法
docker logs [OPTIONS] CONTAINER
参数
OPTIONS说明:
--f: 跟踪日志输出。类似linux tail -f 命令,滚动更新。
-–since:显示某个开始时间的所有日志
--t: 显示时间戳
-–tail:仅列出最新N条容器日志
wait
功能
阻塞运行直到容器停止,然后打印出它的退出代码。
语法
docker wait [OPTIONS] CONTAINER [CONTAINER...]
参数
export
功能
将container作为一个tar归档文件导出到STDOUT。
语法
docker export [OPTIONS] CONTAINER
参数
OPTIONS说明:
--o:将输入内容写到文件。
示例:
#将id为a404c6c174a2的容器按日期保存为tar文件。
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2
port
功能
列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口
语法
docker port [OPTIONS] CONTAINER [PRIVATE_PORT[/PROTO]]
参数
容器rootfs命令
commit
功能
从容器创建一个新的镜像。
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
参数
OPTIONS说明:
--a:提交的镜像作者;
--c:使用Dockerfile指令来创建镜像;
--m:提交时的说明文字;
--p:在commit时,将容器暂停。
cp
功能
用于容器与主机之间的数据拷贝
语法
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
参数
OPTIONS说明:
--L:保持源目标中的链接
容器是镜像的运行实例。不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层;同时,容器中的应用进程处于运行状态。所以是可以copy的。
示例
#将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
#将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
#将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
diff
功能
检查容器里文件结构的更改。更改标识由C,D,A标识。
语法
docker diff [OPTIONS] CONTAINER
参数
镜像仓库 login
功能
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法
docker login [OPTIONS] [SERVER]
参数
OPTIONS说明:
--u:登陆的用户名
--p:登陆的密码
logout
功能
登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法
docker logout [OPTIONS] [SERVER]
参数
OPTIONS说明:
--u:登陆的用户名
--p:登陆的密码
pull
功能
从镜像仓库中拉取或者更新指定镜像
语法
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
参数
OPTIONS说明:
--a:拉取所有 tagged 镜像
-–disable-content-trust:忽略镜像的校验,默认开启
如果未指定tag,则为最新镜像。
push
功能
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
语法
docker push [OPTIONS] NAME[:TAG]
参数
OPTIONS说明:
-–disable-content-trust:忽略镜像的校验,默认开启
search
功能
从Docker Hub查找镜像
语法
docker search [OPTIONS] TERM
参数
OPTIONS说明:
-–automated:只列出 automated build类型的镜像;
-–no-trunc:显示完整的镜像描述;
--s:列出收藏数不小于指定值的镜像。
本地镜像管理
images
功能
列出本地镜像。
语法
docker images [OPTIONS] [REPOSITORY[:TAG]]
参数
OPTIONS说明:
--a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
-–digests:显示镜像的摘要信息;
--f:显示满足条件的镜像;
-–format:指定返回值的模板文件;
-–no-trunc:显示完整的镜像信息;
--q:只显示镜像ID。
rmi
功能
删除本地一个或多少镜像。
语法
docker rmi [OPTIONS] IMAGE [IMAGE...]
参数
OPTIONS说明:
--f:强制删除;不论镜像是否被容器使用。
-–no-prune:不移除该镜像的过程镜像,默认移除;
tag
功能
标记本地镜像,将其归入某一仓库。
语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
参数
build
功能
使用 Dockerfile 创建镜像。
语法
docker build [OPTIONS] PATH | URL | -
参数
OPTIONS说明:
-–build-arg=[]:设置镜像创建时的变量;
-–cpu-shares:设置 cpu 使用权重;
-–cpu-period:限制 CPU CFS周期;
-–cpu-quota:限制 CPU CFS配额;
-–cpuset-cpus:指定使用的CPU id;
-–cpuset-mems:指定使用的内存 id;
-–disable-content-trust:忽略校验,默认开启;
--f:指定要使用的Dockerfile路径;
-–force-rm:设置镜像过程中删除中间容器;
-–isolation:使用容器隔离技术;
-–label=[]:设置镜像使用的元数据;
--m:设置内存最大值;
-–memory-swap:设置Swap的最大值为内存+swap,"-1"表示不限swap;
-–no-cache:创建镜像的过程不使用缓存;
-–pull:尝试去更新镜像的新版本;
-–quiet, -q:安静模式,成功后只输出镜像 ID;
-–rm:设置镜像成功后删除中间容器;
-–shm-size:设置/dev/shm的大小,默认值是64M;
-–ulimit:Ulimit配置。
-–tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。
-–network: 默认 default。在构建期间设置RUN指令的网络模式
示例
#使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。
docker build -t runoob/ubuntu:v1 .
#使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。
docker build github.com/creack/docker-firefox
#也可以通过 -f Dockerfile 文件的位置:
$ docker build -f /path/to/a/Dockerfile .
history
功能
查看指定镜像的创建历史。
语法
docker history [OPTIONS] IMAGE
参数
OPTIONS说明:
--H:以可读的格式打印镜像大小和日期,默认为true;
-–no-trunc:显示完整的提交记录;
--q:仅列出提交记录ID。
save
功能
将指定镜像保存成 tar 归档文件。
语法
docker save [OPTIONS] IMAGE [IMAGE...]
参数
OPTIONS 说明:
--o:输出到的文件。
load
功能
导入使用save 命令导出的镜像。
语法
docker load [OPTIONS]
参数
OPTIONS 说明:
-–input , -i: 指定导入的文件,代替 STDIN。
-–quiet , -q: 精简输出信息。
import
功能
从归档文件中创建镜像。
语法
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
参数
OPTIONS说明:
--c:应用docker 指令创建镜像;
--m:提交时的说明文字;
注意:
实际上,既可以使用docker load命令来导入镜像库存储文件到本地镜像库,也可以使用docker import命令来导入一个容器快照到本地镜像库。
两者的区别在于容器快照将会丢弃所有的历史记录和元数据信息,而镜像存储文件将保存完整记录,体积也会更大。此外从容器快照文件导入时,也可以重新指定标签等元数据。
info|version info
功能
显示 Docker 系统信息,包括镜像和容器数。。
语法
docker info [OPTIONS]
参数
Options:
-f, --format string Format the output using the given Go template
–help Print usage
version
功能
显示 Docker 版本信息。
语法
docker version [OPTIONS]
参数
OPTIONS说明:
--f :指定返回值的模板文件。
docker命令整理相关推荐
- win11 WSL centos7安装docker命令整理
$ curl -fsSL https://get.docker.com -o get-docker.sh $ sudo sh get-docker.sh $ sudo service docker s ...
- docker常用命令_docker常用命令整理
docker常用命令整理 代码狂魔 • 5 天前 • 技术积累 • 14 • 0 前面已经把docker是什么和 docker怎么安装已经写了,现在我将常用命令做一个整理,方便日后查阅 常用命令 do ...
- docker 容器 exited_docker常用命令整理
docker常用命令整理 代码狂魔 • 5 天前 • 技术积累 • 14 • 0 前面已经把docker是什么和 docker怎么安装已经写了,现在我将常用命令做一个整理,方便日后查阅 常用命令 do ...
- Docker常用命令整理
Docker相关的命令和指令主要分为两大类,一是Docker命令,二是Dockerfile指令.而在Docker命令中,通过操作对象的不同,又可分为Docker镜像操作命令和Docker容器操作命令. ...
- Docker 命令自动补全必须有
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前言 不知道这个小伙伴有多久没用过 Docker 了, ...
- Docker 命令终极教程:8步走
Docker容器已经从一种锦上添花的技术转变成了部署环境的必需品.有时,作为开发人员,我们需要花费大量时间调试或研究Docker工具来帮助我们提高生产力.每一次新技术浪潮来临之际,我们都需要花费大量时 ...
- 只要 8 个步骤,学会这个 Docker 命令终极教程!
作者 | Timothy Mugayi 译者 | 弯月 责编 | 徐威龙 封图| CSDN 下载于视觉中国 Docker容器已经从一种锦上添花的技术转变成了部署环境的必需品.有时,作为开发人员,我们需 ...
- android 常用命令,Android开发常用命令整理
一些命令,不常用就忘记了,特整理在这里,忘了就查查.. · alias 用于定义和查询别名,但不保存.修改home目录下.bashrc保存定义别名格式,不加参数即查询别名:alias c ...
- kubernetes常用命令整理
一.维护类: master节点: [root@k8s-master01 -]# for I in etcd kube-apiserver kube-controller-manager kube-sc ...
最新文章
- 进程间通信(三)—信号量
- 刀塔传奇服务器维护,刀塔传奇360专服合服维护补偿公告
- 那些没说出口的研发之痛,做与不做微服务的几大理由
- 装X神器!NuShell
- Contracts for Java
- Windows下架设Apache并支持ASP-Win+Apache+ASP
- Velocity教程 (zhuan)
- Android打开相机进行人脸识别,使用虹软人脸识别引擎
- Comparable与Comparator
- bookstore项目学到的对象
- [HTML/CSS]下拉菜单
- ABC三类地址、子网掩码及子网划分
- 百度迁徙数据的快捷采集方法分析总结
- ubuntu软件默认安装位置
- 【Excel2019(十二):Match与Index函数】【函数语法+与VLOOKUP比较+单元格引用原理+认识COLUMN函数+使用Match与VLOOKUP函数嵌套返回多列结果】
- 十年远征:一个云操作系统的光荣与梦想
- Android输入汉字得到拼音
- 河北安格计算机专修学院简介,石家庄那23家院校被取消办学资格?
- 简单的几句PHP生成美团3周年砸金蛋抽奖代码
- 如何检测和处理内存泄漏