docker run
描述:
创建并运行一个新容器。 若本地没有镜像,docker run自动拉取镜像并启动容器。
示例:
shell
# 启动nginx容器并进入/bin/sh交互式会话
$ docker run -it nginx:1.27 /bin/sh
# 后台运行nginx将容器80端口映射到宿主机8080端口,并将nginx目录挂载至容器目录/etc/nginx
$ docker run -d --name nginx -p 8080:80 -v ./nginx:/etc/nginx nginx:1.27
参数:
-it
进入交互式tty终端
-d
后台运行 (可选)
-v
绑定挂载卷 (可选)
-p
将容器的端口映射到主机上 (可选)
--name
分配一个容器名称 (可选)
--network
选择连接的网络 (可选)
--privileges
特权模式 (可选)
docker build
描述:
根据Dockerfile文件编译docker镜像
示例:
shell
# 打包镜像,设置镜像tag标签并在编译环节中设置本地网络连接
$ docker build --network host -t nginx:v1 .
参数:
-t
配置镜像名:版本格式 (必选)
-f
指定Dockerfile文件目录路径(可选)
-q
编译成功并打印镜像id(可选)
--network
编译镜像时使用本地网络(可选)
--no-cache
编译时不使用本地缓存(可选)
--build-arg
在Dockerfile定义ENV变量可在参数后传值(可选)
--compress
编译时使用gzip压缩,不指定参数为tar压缩(可选)
--label
设置元数据不占用镜像层空间 (可选)
docker save
描述:
将一个或多个镜像保存tar格式归档 (通过数据流传输stdout)
示例:
shell
# 镜像保存tar归档
$ docker save nginx:1.27 -o nginx.tar
$ docker save nginx:1.27 > nginx.tar
# 多个镜像保存tar归档
$ docker save nginx:1.26 nginx:1.27 > nginx.tar
# 镜像保存gzip归档
$ docker save nginx1.27 |gzip > nginx.gzip
参数:
-o, --output: 写入文件
docker load
描述:
加载镜像, 支持tar格式或者标准输入。
示例:
shell
# 加载镜像 (以下两条命令意义相同)
$ docker load -i nginx.tar
$ docker load < nginx.tar
# 静默加载
$ docker load -q -i nginx.tar
参数: -i
读取tar归档文件,加载镜像
-q
静默安装,简化输出只显示加载是否成功(可选)
docker ps
描述:
查看容器列表,状态信息等。
示例:
shell
# 查看全部容器
$ docker ps -a
$ docker ps -a --no-truc
# 查看容器状态为exited的列表
$ docker ps -a -f status=exited
# 使用json格式输出
$ docker ps -a --format '{{json .}}'
$ docker ps -a --no-trunc --format 'table {{.ID}}\t{{.Labels}}'
参数:
-a
: 显示所有容器
-f
: 过滤条件, 支持key=value格式
--format
: 格式化输出可使用自定义模版, 支持打印json格式
-q
: 只显示容器ID
-s
: 显示容器文件大小
-l
: 显示最近创建的容器
-n
: 显示最后创建的容器数量
--no-trunc
: 不进行截取输出
docker inspect
描述: 查看docker对象配置信息
示例:
shell
# 查看配置信息
$ docker inspect 镜像或容器ID
$ docker inspect -f "{{json .Config.Labels}}" nginx:1.27
# 查看image类型的配置
$ docker inspect --type image nginx:1.27
参数:
-s
: 显示容器所占的大小,字节单位
-f
和 --format
: 格式化输出可使用自定义模版, 支持打印json格式
--type
: 匹配类型,比如是容器、逻辑卷等
docker exec
描述:
进入容器运行命令
示例:
shell
# 进入容器bash命令行
$ docker exec -it nginx /bin/bash
参数:
-d
: 在后台运行命令
-e
: 设置环境变量
-it
: 分配一个伪中断进入交互式会话
-u
: 指定用户名或id
-w
: 指定进入目录
--privileged
: 特权模式
docker images
描述: 查看镜像列表
示例:
shell
# 查看全部镜像
$ docker images -a
# 查看镜像ID全部信息
$ docker images -a --no-trunc
参数:
-a
: 显示全部镜像
-q
: 只显示镜像ID
-f
: 过滤条件, 支持key=value格式
--format
: 格式化输出可使用自定义模版, 支持打印json格式
--digests
: 显示镜像摘要
--no-trunc
: 不进行截取输出
docker pull
描述: 从远程仓库中拉取镜像
示例:
shell
# 向远程仓库拉取nginx
$ docker pull nginx:1.27
# 拉取arm版本nginx镜像
$ docker pull --platform arm64 nginx:1.27
参数:
-a,--all-tags
: 拉取所有标签的镜像
--disable-content-trust
: 拉取镜像跳过镜像验证
--platform
: 指定不同架构的镜像拉取
-q
: 抑制详细输出,仅显示必要信息(如镜像ID)
docker push
描述: 将镜像推送远程仓库
示例:
shell
# 向远程仓库推送nginx镜像
$ docker push nginx:1.27
参数:
-a,--all-tags
: 推送所有标签的镜像
--disable-content-trust
: 跳过镜像签名
-q
: 抑制详细输出,仅显示必要信息(如镜像ID)
docker stop
描述: 关闭正在运行的容器
示例:
shell
# 关闭容器
$ docker stop 容器名或者容器ID
参数:
-t
: 在终止停止前等待的秒数(默认为10)
docker rmi
描述: 移除一个或多个镜像。
示例:
shell
# 移除镜像
$ docker rmi 容器名或容器ID (支持多个)
参数:
-f
: 强制移除镜像
--no-prune
: 不删除未被任何容器使用的中间层镜像
docker build
描述: 根据Dockerfile文件编译docker镜像
示例:
shell
docker build --network host -t docker/nginx:v1 .
参数:
-t
配置镜像名:版本格式 (必选)
-f
指定Dockerfile文件目录路径(可选)
-q
编译成功并打印镜像id(可选)
--network
编译镜像时使用本地网络(可选)
--no-cache
编译时不使用本地缓存(可选)
--build-arg
在Dockerfile定义ENV变量可在参数后传值(可选)
--compress
编译时使用gzip压缩,不指定参数为tar压缩(可选)
--label
设置元数据不占用镜像层空间 (可选)
docker save
描述: 将一个或多个镜像保存tar格式归档 (通过数据流传输stdout)
示例:
shell
镜像保存tar归档
docker save nginx:1.27 -o nginx.tar
docker save nginx:1.27 > nginx.tar
多个镜像保存tar归档
docker save nginx:1.26 nginx:1.27 > nginx.tar
镜像保存gzip归档
docker save nginx1.27 |gzip > nginx.gzip
参数:
-o, --output
: 写入文件
docker load
描述: 加载镜像,支持tar格式或者标准输入
示例:
shell
以下两条命令意义相同
docker load -i nginx.tar
docker load < nginx.tar
静默加载
docker load -q -i nginx.tar
参数:
-i
读取tar归档文件,加载镜像
-q
静默安装,简化输出只显示加载是否成功(可选)
docker ps
描述: 查看容器列表
示例:
shell
查看全部容器
docker ps -a
docker ps -a --no-truc
查看容器状态为exited的列表
docker ps -a -f status=exited
使用json格式输出
docker ps -a --format '{{json .}}'
docker ps -a --no-trunc --format 'table {{.ID}}\t{{.Labels}}'
参数:
-a
: 显示所有容器
-f
: 过滤条件, 支持key=value格式
--format
: 格式化输出可使用自定义模版, 支持打印json格式
-q
: 只显示容器ID
-s
: 显示容器文件大小
-l
: 显示最近创建的容器
-n
: 显示最后创建的容器数量
--no-trunc
: 不进行截取输出
docker inspect
描述: 查看docker对象配置信息
示例:
shell
查看配置信息
docker inspect 镜像或容器ID
docker inspect -f "{{json .Config.Labels}}" nginx:1.27
查看image类型的配置
docker inspect --type image nginx:1.27
参数:
-s
: 显示容器所占的大小,字节单位
-f
和 --format
: 格式化输出可使用自定义模版, 支持打印json格式
--type
: 匹配类型,比如是容器、逻辑卷等
docker exec
描述: 进入容器运行命令
示例:
shell
进入容器bash命令行
docker exec -it nginx /bin/bash
参数:
-d
: 在后台运行命令
-e
: 设置环境变量
-it
: 分配一个伪中断进入交互式会话
-u
: 指定用户名或id
-w
: 指定进入目录
--privileged
: 特权模式
docker images
描述: 查看镜像列表
示例:
shell
查看全部镜像
docker images -a
查看镜像ID全部信息
docker images -a --no-trunc
参数:
-a
: 显示全部镜像
-q
: 只显示镜像ID
-f
: 过滤条件, 支持key=value格式
--format
: 格式化输出可使用自定义模版, 支持打印json格式
--digests
: 显示镜像摘要
--no-trunc
: 不进行截取输出
docker pull
描述: 从远程仓库中拉取镜像
示例:
shell
docker pull nginx:1.27
拉取arm版本nginx镜像
docker pull --platform arm64 nginx:1.27
参数:
-a,--all-tags
: 拉取所有标签的镜像
--disable-content-trust
: 拉取镜像跳过镜像验证
--platform
: 指定不同架构的镜像拉取
-q
: 抑制详细输出,仅显示必要信息(如镜像ID)
docker push
描述: 将镜像推送远程仓库
示例:
shell
docker push nginx:1.27
参数:
-a,--all-tags
: 推送所有标签的镜像
--disable-content-trust
: 跳过镜像签名
-q
: 抑制详细输出,仅显示必要信息(如镜像ID)
docker stop
描述: 关闭正在运行的容器
示例:
shell
docker stop 容器名或者容器ID
参数:
-t
: 在终止停止前等待的秒数(默认为10)
docker rm
描述: 移除一个或多个容器
示例:
shell
docker rm -f 容器名或容器ID (支持多个)
参数: -f
: 强制移除正在运行的容器(使用SIGKILL)
-l
: 删除指定链接的容器
-v
: 删除与容器关联的匿名卷
docker rmi
描述: 移除一个或多个镜像
示例:
shell
docker rmi 容器名或容器ID (支持多个)
参数: -f
: 强制移除镜像
--no-prune
: 不删除未被任何容器使用的中间层镜像
技术文章持续更新,请大家多多关注呀~~ 搜索微信公众号,关注我【 帽儿山的枪手 】