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 | 不截断输出 | 
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号