Docker命令详解
官方命令文档地址
:https://docs.docker.com/engine/reference/commandline/docker/
Docker的启动与停止
启动/停止
$ systemctl start docker
$ systemctl stop docker
Docker环境命令
info
//查看docker信息
$ docker info [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 | 例子 |
--format,-f | 使用给定模板格式化输出 |
$ docker info --format '{{json .}}' |
version
//查看docker版本信息
docker version [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 | 例子 |
--format,-f | 使用给定模板格式化输出 |
$ docker version --format '{{.Server.Version}}' |
镜像仓库命令
login
//登录Docker注册表
docker login [OPTIONS] [SERVER]
OPTIONS说明:
名称, 简写 | 描述 |
--username,-u | 用户名 |
--password,-p | 密码 |
pull
//从仓库拉取镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--all-tags,-a | 下载仓库中所有标记的镜像 |
|
--disable-content-trust | 跳过镜像验证 | true |
--platform | 如果服务器支持多平台,则设置平台 | |
--quiet,-q | 禁止详细输出 |
push
//推送镜像到仓库
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--all-tags,-a | 推送所有标记的镜像到仓库中 |
|
--disable-content-trust | 跳过镜像验证 | true |
--quiet,-q | 禁止详细输出 |
search
//在Docker Hub中搜索镜像
docker search [OPTIONS] TERM
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--filter,-f | 根据提供的条件过滤输出 |
|
--format | 使用Go模板进行漂亮的打印搜索 | |
--limit | 最多搜索结果数 | 25 |
--no-trunc | 不截断输出 |
本地镜像管理命令
build
//从Dockerfile构建一个映像
docker build [OPTIONS] PATH | URL | -
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--add-host | 添加自定义主机到IP的映射(host:ip) |
|
--file , -f | Dockerfile的名称(默认为'PATH/Dockerfile') | |
--memory , -m | 内存限制 | |
--no-cache | 在构建映像时不要使用缓存 | |
--network | 在构建期间为运行指令设置网络模式 | |
--rm | 成功构建后删除中间容器 | true |
images
//镜像列表
docker images [OPTIONS] [REPOSITORY[:TAG]]
OPTIONS说明:
名称, 简写 | 描述 |
--all , -a | 显示所有镜像(默认隐藏中间镜像) |
--digests | 显示摘要 |
--filter , -f | 条件过滤 |
--format | 使用模板打印镜像 |
--no-trunc | 不截断输出 |
--quiet , -q | 只显镜像id |
rmi
//删除一个或多个镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
OPTIONS说明:
名称, 简写 | 描述 |
--force , -f | 强制移除镜像 |
--no-prune | 不删除未标记的父级镜像 |
tag
//创建一个引用源镜像的标签目标镜像
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
save
//将一个或多个镜像保存到tar存档(默认情况下流到STDOUT)
docker save [OPTIONS] IMAGE [IMAGE...]
OPTIONS说明:
名称, 简写 | 描述 |
--output , -o | 写入一个文件,而不是标准输出 |
import
//从tar文件中导入内容以创建文件系统映像
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
OPTIONS说明:
名称, 简写 | 描述 |
--change , -c | 对创建的映像应用Dockerfile指令 |
--message , -m | 为导入的镜像设置提交消息 |
--platform | 如果服务器支持多平台,则设置平台 |
load
//从tar归档文件或标准din中加载映像
docker load [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 |
--input , -i | 从tar归档文件读取,而不是从STDIN读取 |
--quiet , -q | 禁止负载输出 |
容器根文件系统命令
commit
//从容器的更改中创建一个新映像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--author , -a | 作者 | |
--change , -c | 对创建的映像应用Dockerfile指令 | |
--message , -m | 提交消息 | |
--pause , -p | 在提交期间暂停容器 | true |
cp
//在容器和本地文件系统之间复制文件/文件夹 docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
OPTIONS说明:
名称, 简写 | 描述 |
--archive , -a | 存档模式(复制所有uid/gid信息) |
--follow-link , -L | 在SRC路径中始终遵循符号链接 |
diff
//检查容器文件系统上文件或目录的更改
docker diff CONTAINER
容器资源命令
volume create
//创建卷
docker volume create [OPTIONS] [VOLUME]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--driver , -d | 指定卷驱动程序名 | local |
--label | 为卷设置元数据 | |
--name | 指定卷名 | |
--opt , -o | 设置驱动程序特定选项 |
volume inspect
//显示一个或多个卷的详细信息
docker volume inspect [OPTIONS] VOLUME [VOLUME...]
OPTIONS说明:
名称, 简写 | 描述 |
--format , -f | 使用给定模板格式化输出 |
volume ls
//显示卷列表
docker volume ls [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 |
--filter , -f | 提供过滤器值 |
--format | 使用给定模板格式化输出 |
--quiet , -q | 只显示卷名 |
volume prune
//删除所有未使用的本地卷
docker volume prune [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 |
--filter | 提供过滤器值 |
--force , -f | 不提示确认 |
volume rm
//删除一个或多个卷
docker volume rm [OPTIONS] VOLUME [VOLUME...]
OPTIONS说明:
名称, 简写 | 描述 |
--force , -f | 强制删除一个或多个卷 |
network connect
//将容器连接到网络
docker network connect [OPTIONS] NETWORK CONTAINER
OPTIONS说明:
名称, 简写 | 描述 |
--alias | 为容器添加网络范围的别名 |
--driver-opt | 网络的驱动程序选项 |
--ip | IPv4地址 |
--ip6 | IPv6地址 |
--link | 向另一个容器添加链接 |
--link-local-ip | 为容器添加一个链接本地地址 |
network create
//创建一个网络
docker network create [OPTIONS] NETWORK
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--config-from | 从其中复制配置的网络 | |
--config-only | 创建仅配置网络 | |
--driver , -d | 驱动程序来管理网络 | bridge |
--gateway | 主网的IPv4或IPv6网关 | |
--ingress | 创建群路由-网状网络 | |
--internal | 限制外部访问网络 | |
--ip-range | 从子范围中分配容器ip | |
--scope | 控制网络的范围 | |
--opt , -o | 设置驱动程序特定选项 | |
--ipv6 | 启用IPv6网络 | |
--ipam-driver | IP地址管理驱动 |
network disconnect
//断开容器与网络的连接
docker network disconnect [OPTIONS] NETWORK CONTAINER
OPTIONS说明:
名称, 简写 | 描述 |
--force , -f | 强制容器从网络断开 |
network inspect
//显示一个或多个网络的详细信息
docker network inspect [OPTIONS] NETWORK [NETWORK...]
OPTIONS说明:
名称, 简写 | 描述 |
--format , -f | 使用给定的模板格式化输出 |
--verbose , -v | 诊断的详细输出 |
network ls
//网络列表
docker network ls [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 |
--filter , -f | 提供过滤器值 |
--format | 使用给定的模板格式化输出 |
--no-trunc | 不截断输出 |
--quiet , -q | 仅显示网络id |
network prune
//删除所有未使用的网络
docker network prune [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 |
--filter | 提供过滤器值 |
--force , -f | 不提示确认 |
network rm
//删除一个或多个网络
docker network rm NETWORK [NETWORK...]
系统日志命令
events
//从服务器获取实时事件
docker events [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 |
--filter , -f | 条件过滤输出 |
--format | 使用给定的模板格式化输出 |
--since | 显示自时间戳以来创建的所有事件 |
--until | 显示流事件直到这个时间戳 |
history
//显示镜像的历史
docker history [OPTIONS] IMAGE
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--format | 使用给定的模板格式化输出 | |
--human , -H | 以人类可读的格式打印大小和日期 | true |
--no-trunc | 不截断输出 | |
--quiet , -q | 只显示镜像id |
logs
//获取容器日志
docker logs [OPTIONS] CONTAINER
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--details | 显示提供给日志的额外详细信息 | |
--follow , -f | 跟踪日志输出 | |
--since | 显示自时间戳或相对(例如42m, 42分钟)以来的日志 | |
--tail , -n | 从日志的末尾开始显示的行数 | all |
--timestamps , -t | 显示时间戳 | |
--until | 显示时间戳之前的日志或相对的日志(例如42m, 42分钟) |
容器生命周期命令
create
//创建一个新的容器
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--add-host | 添加自定义主机到IP的映射(host:ip) |
|
--device | 向容器中添加主机设备 | |
--entrypoint | 覆盖图像的默认ENTRYPOINT | |
--env , -e | 设置环境变量 | |
--env-file | 读入环境变量文件 | |
--group-add | 添加其他组加入 | |
--hostname , -h | 容器主机名 | |
--link | 链接添加到另一个容器 | |
--link-local-ip | 容器IPv4/IPv6链路本地地址 | |
--name | 为容器分配一个名称 | |
--net | 将容器连接到网络 | |
--net-alias | 为容器添加网络范围的别名 | |
--network | 将容器连接到网络 | |
--read-only | 将容器的根文件系统挂载为只读 | |
--restart | 容器退出时重新启动策略以应用 | no |
--volume , -v | 绑定挂载卷 |
exec
//打开容器
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
名称, 简写 | 描述 |
--detach , -d | 分离模式:在后台运行命令 |
--env , -e | 设置环境变量 |
--interactive ,-i | 即使未连接STDIN也保持打开状态 |
--tty , -t | 分配一个TTY |
--user , -u | 用户名或UID |
run
//运行容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--add-host | 添加自定义主机到IP的映射(host:ip) |
|
--device | 向容器中添加主机设备 | |
--entrypoint | 覆盖图像的默认ENTRYPOINT | |
--env , -e | 设置环境变量 | |
--env-file | 读入环境变量文件 | |
--group-add | 添加其他组加入 | |
--hostname , -h | 容器主机名 | |
--link | 链接添加到另一个容器 | |
--link-local-ip | 容器IPv4/IPv6链路本地地址 | |
--name | 为容器分配一个名称 | |
--net | 将容器连接到网络 | |
--net-alias | 为容器添加网络范围的别名 | |
--network | 将容器连接到网络 | |
--publish , -p | 将容器的端口发布映射到主机 | |
--read-only | 将容器的根文件系统挂载为只读 | |
--restart | 容器退出时重新启动策略以应用 | no |
--tty , -t | 分配一个TTY | |
--volume , -v | 绑定挂载卷 |
start
//启动已停止的容器
docker start [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
名称, 简写 | 描述 |
--attach , -a | 附加标准输出/标准错误和转发信号 |
--checkpoint | 从此检查点还原 |
--checkpoint-dir | 使用自定义检查点存储目录 |
--detach-keys | 覆盖分离容器的键序列 |
--interactive , -i | 附加容器的STDIN |
stop
//停止运行中的容器
docker stop [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--time , -t | 等待秒数后,将其进程杀死 |
10 |
restart
//重新启动容器
docker restart [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--time , -t | 等待秒数后,将其进程杀死并重新启动 |
10 |
kill
//杀死正在运行的容器
docker kill [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--signal , -s | 信号发送到容器 |
KILL |
rm
//移除容器
docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明:
名称, 简写 | 描述 |
--force , -f | 强制删除正在运行的容器 |
--link , -l | 删除指定的链接 |
--volumes , -v | 删除与容器关联的匿名卷 |
pause
//暂停容器中的所有进程
docker pause CONTAINER [CONTAINER...]
unpause
//取消暂停容器中的所有进程
docker unpause CONTAINER [CONTAINER...]
容器运维命令
ps
//容器列表
docker ps [OPTIONS]
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--all , -a | 显示所有容器(默认显示正在运行) |
|
--filter , -f | 条件过滤 | |
--format | 使用模板打印 | |
--last , -n | 显示最后创建的容器(包括所有状态) | -1 |
--latest , -l | 显示最新创建的容器(包括所有状态) | |
--no-trunc | 不截断输出 | |
--quiet , -q | 只显示容器id | |
--size , -s | 显示文件总大小 |
inspect
//返回Docker对象的低级信息
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
OPTIONS说明:
名称, 简写 | 描述 |
--format , -f | 使用给定模板格式化输出 |
--size , -s | 如果类型是容器,则显示文件的总大小 |
--type | 返回指定类型的JSON |
top
//显示容器的运行进程
docker top CONTAINER [ps OPTIONS]
attach
//将本地标准输入、输出和错误流附加到正在运行的容器中
docker attach [OPTIONS] CONTAINER
OPTIONS说明:
名称, 简写 | 描述 | 默认值 |
--detach-keys | 重载分离容器的键序列 |
|
--no-stdin | 没有附加STDIN | |
--sig-proxy | 代理所有接收到的进程信号 | true |
wait
//阻塞,直到一个或多个容器停止,然后打印它们的退出代码
docker wait CONTAINER [CONTAINER...]
export
//将容器的文件系统导出为tar归档文件
docker export [OPTIONS] CONTAINER
OPTIONS说明:
名称, 简写 | 描述 |
--output , -o | 写入一个文件,而不是标准输出 |
port
//列出端口映射或容器的特定映射
docker port CONTAINER [PRIVATE_PORT[/PROTO]]
rename
//重命名一个容器
docker rename CONTAINER NEW_NAME
stats
//显示容器资源使用统计的实时流
docker stats [OPTIONS] [CONTAINER...]
OPTIONS说明:
名称, 简写 | 描述 |
--all , -a | 显示所有容器(默认显示正在运行) |
--format | 使用模板打印容器 |
--no-stream | 禁用流统计,只拉出第一个结果 |
--no-trunc | 不截断输出 |