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。
语法:
子命令
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 networksnode
管理Swarm节点。需要swarm。
plugin
管理plugins。
子命令:
secret
管理Docker secrets。需要swarm。
子命令:
service
管理services。需要swarm。
子命令:
stack
管理Docker stacks。需要swarm。
子命令:
swarm
Manage Swarm。
system
管理Docker。
子命令:
volume
管理volumes。
语法:
子命令
create Create a volumeinspect Display detailed information on one or more volumesls List volumesprune Remove all unused volumesrm Remove one or more volumes容器生命周期管理
run
功能
创建一个新的容器并运行一个命令
语法
参数
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: 绑定一个卷
示例
start/stop/restart
功能
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
语法
参数
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
功能
杀掉一个运行中的容器。
语法
参数
OPTIONS说明:
--s:向容器发送一个信号
示例
rm
功能
删除一个或多个容器。
语法
参数
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 :恢复容器中所有的进程。
语法
参数
create
功能
创建一个新的容器但不启动它。create的容器,可以通过start命令启动。
语法
参数
同docker run
exec
功能
在运行的容器中执行命令
语法
参数
OPTIONS说明:
--d:分离模式: 在后台运行
--i:即使没有附加也保持STDIN 打开
--t:分配一个伪终端 。(在crontab等非前端任务中,如果加此参数,会提示:the input device is not a TTY)
示例
容器操作
ps
功能
列出容器
语法
参数
OPTIONS说明:
--a:显示所有的容器,包括未运行的。
--f:根据条件过滤显示的内容。
-–format:指定返回值的模板文件。
--l:显示最近创建的容器。
--n:列出最近创建的n个容器。
-–no-trunc:不截断输出。
--q:静默模式,只显示容器编号。
--s:显示总的文件大小。
inspect
功能
获取容器/镜像的元数据。
语法
参数
OPTIONS说明:
--f:指定返回值的模板文件。
--s:显示总的文件大小。
-–type:为指定类型返回JSON。
top
功能
查看容器中运行的进程信息,支持 ps 命令参数。
语法
参数
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不会关闭容器。
语法
参数
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
功能
从服务器获取实时事件
语法
参数
OPTIONS说明:
-**-f :根据条件过滤事件;
-–since :从指定的时间戳后显示所有事件;
-–until :**流水时间显示到指定的时间为止;
logs
功能
获取容器的日志
语法
参数
OPTIONS说明:
--f: 跟踪日志输出。类似linux tail -f 命令,滚动更新。
-–since:显示某个开始时间的所有日志
--t: 显示时间戳
-–tail:仅列出最新N条容器日志
wait
功能
阻塞运行直到容器停止,然后打印出它的退出代码。
语法
参数
export
功能
将container作为一个tar归档文件导出到STDOUT。
语法
参数
OPTIONS说明:
--o:将输入内容写到文件。
示例:
port
功能
列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口
语法
参数
容器rootfs命令
commit
功能
从容器创建一个新的镜像。
语法
参数
OPTIONS说明:
--a:提交的镜像作者;
--c:使用Dockerfile指令来创建镜像;
--m:提交时的说明文字;
--p:在commit时,将容器暂停。
cp
功能
用于容器与主机之间的数据拷贝
语法
参数
OPTIONS说明:
--L:保持源目标中的链接
容器是镜像的运行实例。不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层;同时,容器中的应用进程处于运行状态。所以是可以copy的。
示例
diff
功能
检查容器里文件结构的更改。更改标识由C,D,A标识。
语法
参数
镜像仓库 login
功能
登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法
参数
OPTIONS说明:
--u:登陆的用户名
--p:登陆的密码
logout
功能
登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
语法
参数
OPTIONS说明:
--u:登陆的用户名
--p:登陆的密码
pull
功能
从镜像仓库中拉取或者更新指定镜像
语法
参数
OPTIONS说明:
--a:拉取所有 tagged 镜像
-–disable-content-trust:忽略镜像的校验,默认开启
如果未指定tag,则为最新镜像。
push
功能
将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
语法
参数
OPTIONS说明:
-–disable-content-trust:忽略镜像的校验,默认开启
search
功能
从Docker Hub查找镜像
语法
参数
OPTIONS说明:
-–automated:只列出 automated build类型的镜像;
-–no-trunc:显示完整的镜像描述;
--s:列出收藏数不小于指定值的镜像。
本地镜像管理
images
功能
列出本地镜像。
语法
参数
OPTIONS说明:
--a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
-–digests:显示镜像的摘要信息;
--f:显示满足条件的镜像;
-–format:指定返回值的模板文件;
-–no-trunc:显示完整的镜像信息;
--q:只显示镜像ID。
rmi
功能
删除本地一个或多少镜像。
语法
参数
OPTIONS说明:
--f:强制删除;不论镜像是否被容器使用。
-–no-prune:不移除该镜像的过程镜像,默认移除;
tag
功能
标记本地镜像,将其归入某一仓库。
语法
参数
build
功能
使用 Dockerfile 创建镜像。
语法
参数
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指令的网络模式
示例
history
功能
查看指定镜像的创建历史。
语法
参数
OPTIONS说明:
--H:以可读的格式打印镜像大小和日期,默认为true;
-–no-trunc:显示完整的提交记录;
--q:仅列出提交记录ID。
save
功能
将指定镜像保存成 tar 归档文件。
语法
参数
OPTIONS 说明:
--o:输出到的文件。
load
功能
导入使用save 命令导出的镜像。
语法
参数
OPTIONS 说明:
-–input , -i: 指定导入的文件,代替 STDIN。
-–quiet , -q: 精简输出信息。
import
功能
从归档文件中创建镜像。
语法
参数
OPTIONS说明:
--c:应用docker 指令创建镜像;
--m:提交时的说明文字;
注意:
实际上,既可以使用docker load命令来导入镜像库存储文件到本地镜像库,也可以使用docker import命令来导入一个容器快照到本地镜像库。
两者的区别在于容器快照将会丢弃所有的历史记录和元数据信息,而镜像存储文件将保存完整记录,体积也会更大。此外从容器快照文件导入时,也可以重新指定标签等元数据。
info|version info
功能
显示 Docker 系统信息,包括镜像和容器数。。
语法
参数
Options:
-f, --format string Format the output using the given Go template
–help Print usage
version
功能
显示 Docker 版本信息。
语法
参数
OPTIONS说明:
--f :指定返回值的模板文件。
总结
以上是生活随笔为你收集整理的docker命令整理的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 模型评估之混淆矩阵
- 下一篇: Jenkins Pipeline 语法