Docker 是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用 Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker 都能确保应用的快速、可靠地部署和运行。
Docker 提供的不仅仅是容器,它还构建了一个庞大的生态系统,包括 Docker Hub、Docker Compose、Docker Swarm 等工具,这些工具涵盖了从开发到生产、从单一容器到容器编排的全方位需求。Docker 还支持多种编程语言、框架和中间件,使其成为现代应用开发和部署的首选工具。
肖哥弹架构 跟大家“弹弹” 高并发锁, 关注公号回复 'mvcc' 获得手写数据库事务代码
欢迎 点赞,关注,评论。
关注公号Solomon肖哥弹架构获取更多精彩内容SS
历史热点文章
- 解锁大语言模型参数:零基础掌握大型语言模型参数奥秘与实践指南
- 高性能连接池之HikariCP框架分析:高性能逐条分解(架构师篇)
- 缓存雪崩/穿透/击穿/失效原理图/14种缓存数据特征+10种数据一致性方案
- Java 8函数式编程全攻略:43种函数式业务代码实战案例解析(收藏版)
- 一个项目代码讲清楚DO/PO/BO/AO/E/DTO/DAO/ POJO/VO
- 17个Mybatis Plugs注解:Mybatis Plugs插件架构设计与注解案例(必须收藏)
本节内容
11、DockerFile管理命令表
命令类别 | 二级分类 | 命令 | 描述 |
---|---|---|---|
镜像 | 创建与构建 | docker builder |
使用 Dockerfile 构建镜像 |
docker buildx |
使用 BuildKit 构建镜像 | ||
保存与加载 | docker commit |
从更改的容器创建新的镜像 | |
docker save |
保存一个或多个镜像为 tar 归档 | ||
docker load |
加载一个镜像或仓库 | ||
导入与导出 | docker import |
从 tar 归档文件创建一个新的镜像 | |
docker export |
导出容器的文件系统作为一个 tar 归档 | ||
管理 | docker images |
列出本地镜像 | |
docker pull |
从镜像仓库拉取一个镜像 | ||
docker push |
将一个镜像推送到镜像仓库 | ||
docker rmi |
删除一个或多个镜像 | ||
标记 | docker tag |
为本地镜像打标签 | |
容器 | 操作与管理 | docker container |
管理容器 |
docker container commit |
从容器创建一个新的镜像 | ||
docker container cp |
从容器复制文件或文件夹到本地文件系统 | ||
docker container create |
创建一个新的容器 | ||
docker container diff |
检查容器文件系统的变化 | ||
docker container exec |
在运行的容器中执行命令 | ||
docker container export |
导出容器的文件系统 | ||
docker container inspect |
获取容器的详细信息 | ||
docker container kill |
杀死一个或多个运行的容器 | ||
docker container logs |
获取容器的日志 | ||
列出与搜索 | docker container ls |
列出当前的容器 | |
docker container prune |
删除所有未使用的容器 | ||
运行与启动 | docker container run |
运行一个新的容器 | |
docker container start |
启动一个或多个已经停止的容器 | ||
停止与重启 | docker container stop |
停止一个运行的容器 | |
docker container restart |
重启一个运行的容器 | ||
查看状态 | docker container top |
查看容器中运行的进程 | |
docker container stats |
获取容器的统计信息 | ||
清理 | docker container rm |
删除一个或多个容器 | |
docker container prune |
删除所有未使用的容器 | ||
网络 | 操作与管理 | docker network |
管理 Docker 网络 |
docker network connect |
将容器连接到一个网络 | ||
docker network create |
创建一个新的网络 | ||
docker network disconnect |
从网络断开一个容器 | ||
docker network inspect |
获取网络的详细信息 | ||
列出与搜索 | docker network ls |
列出网络 | |
docker network prune |
删除所有未使用的网络 | ||
docker network rm |
删除一个或多个网络 | ||
docker network update |
更新网络 | ||
卷 | 操作与管理 | docker volume |
管理 Docker 卷 |
docker volume create |
创建一个新的卷 | ||
docker volume inspect |
获取卷的详细信息 | ||
列出与搜索 | docker volume ls |
列出卷 | |
docker volume prune |
删除所有未使用的卷 | ||
docker volume rm |
删除一个或多个卷 | ||
守护进程 | docker daemon |
启动 Docker 守护进程 | |
集群管理 | 操作与管理 | docker swarm |
管理 Docker Swarm |
docker swarm ca |
获取或轮询根 CA | ||
docker swarm init |
初始化 Swarm 模式 | ||
docker swarm join |
将节点加入到 Swarm 模式 | ||
docker swarm leave |
使节点离开 Swarm 模式 | ||
docker swarm update |
更新 Swarm | ||
docker swarm unlock |
解锁 Swarm | ||
docker swarm unlock-key |
获取 Swarm 解锁密钥 | ||
配置 | 操作与管理 | docker config |
管理 Docker 配置 |
docker config create |
创建一个新的配置 | ||
docker config inspect |
获取配置的详细信息 | ||
列出与搜索 | docker config ls |
列出配置 | |
docker config rm |
删除一个或多个配置 | ||
插件 | 操作与管理 | docker plugin |
管理 Docker 插件 |
docker plugin create |
创建一个新的插件 | ||
docker plugin disable |
禁用插件 | ||
docker plugin enable |
启用插件 | ||
docker plugin inspect |
获取插件的详细信息 | ||
列出与搜索 | docker plugin ls |
列出插件 | |
docker plugin push |
推送插件到镜像仓库 | ||
docker plugin rm |
删除一个或多个插件 | ||
docker plugin set |
更新插件设置 | ||
docker plugin upgrade |
升级插件 | ||
系统 | 信息与状态 | docker system |
管理 Docker |
docker system df |
显示 Docker 数据使用情况 | ||
docker system events |
获取 Docker 事件 | ||
docker system info |
显示 Docker 系统信息 | ||
清理 | docker system prune |
删除未使用的 Docker 对象 | |
docker system update |
更新 Docker | ||
帮助 | docker --help |
获取命令帮助信息 | |
docker version |
显示 Docker 的版本信息 |
12、DockerFile管理命令案例
12.1 镜像
创建与构建
docker build
# 使用当前目录下的Dockerfile构建一个新的镜像,并命名为"my-image"
docker build -t my-image .
说明:
-t my-image
: 指定镜像的名称和标签。.
: 表示使用当前目录下的Dockerfile。 docker buildx
# 使用BuildKit构建一个新的镜像,并命名为"my-image"
docker buildx build -t my-image --platform linux/amd64,linux/arm64 .
说明:
--platform linux/amd64,linux/arm64
: 指定构建的镜像平台。.
: 表示使用当前目录下的Dockerfile。
保存与加载
docker commit
# 从名为"my-container"的容器创建一个新的镜像,并命名为"my-new-image"
docker commit my-container my-new-image
说明:
my-container
: 指定容器名称。my-new-image
: 指定新镜像名称。 docker save
# 将名为"my-image"的镜像保存为tar文件
docker save -o my-image.tar my-image
说明:
-o my-image.tar
: 指定输出文件的名称。 docker load
# 从tar文件加载镜像
docker load -i my-image.tar
说明:
-i my-image.tar
: 指定输入文件的名称。
12.2 容器
操作与管理
docker container
# 列出当前的所有容器
docker container ls
说明:
docker container
: 管理容器的命令。 docker container commit
# 从名为"my-container"的容器创建一个新的镜像,并命名为"my-new-image"
docker container commit my-container my-new-image
说明:
my-container
: 指定容器名称。my-new-image
: 指定新镜像名称。 docker container cp
# 从名为"my-container"的容器复制文件到当前目录
docker container cp my-container:/path/to/file ./
说明:
my-container
: 容器名称。/path/to/file
: 容器内部文件的路径。./
: 目标路径,这里表示当前目录。 docker container create
# 创建一个新的容器,但不启动它
docker container create --name my-container my-image
说明:
--name my-container
: 指定容器名称。my-image
: 指定基础镜像。 docker container diff
# 查看名为"my-container"的容器的文件系统变化
docker container diff my-container
说明:
my-container
: 指定容器名称。 docker container exec
# 在名为"my-container"的容器中执行命令
docker container exec my-container ls
说明:
my-container
: 指定容器名称。ls
: 要执行的命令。 docker container export
# 导出名为"my-container"的容器的文件系统
docker container export my-container > my-container.tar
说明:
my-container
: 指定容器名称。>
: 将导出的数据流重定向到文件。 docker container inspect
# 获取名为"my-container"的容器的详细信息
docker container inspect my-container
说明:
my-container
: 指定容器名称。 docker container kill
# 杀死名为"my-container"的容器
docker container kill my-container
说明:
my-container
: 指定容器名称。 docker container logs
# 获取名为"my-container"的容器的日志
docker container logs my-container
说明:
my-container
: 指定容器名称。
列出与搜索
docker container ls
# 列出当前的所有容器
docker container ls
说明:
docker container ls
: 列出当前运行的容器。 docker container prune
# 删除所有未使用的容器
docker container prune
说明:
docker container prune
: 删除未使用的容器。
12.3 网络
操作与管理
docker network
# 列出当前的所有网络
docker network ls
说明:
docker network
: 管理Docker网络的命令。 docker network connect
# 将名为"my-container"的容器连接到"my-network"网络
docker network connect my-network my-container
说明:
my-network
: 指定网络名称。my-container
: 指定容器名称。 docker network create
# 创建一个新的网络,并命名为"my-network"
docker network create my-network
说明:
my-network
: 指定网络名称。 docker network disconnect
# 从"my-network"网络断开名为"my-container"的容器
docker network disconnect my-network my-container
说明:
my-network
: 指定网络名称。my-container
: 指定容器名称。 docker network inspect
# 获取"my-network"网络的详细信息
docker network inspect my-network
说明:
my-network
: 指定网络名称。
列出与搜索
docker network ls
# 列出当前的所有网络
docker network ls
说明:
docker network ls
: 列出所有网络。 docker network prune
# 删除所有未使用的网络
docker network prune
说明:
docker network prune
: 删除未使用的网络。 docker network rm
# 删除名为"my-network"的网络
docker network rm my-network
说明:
my-network
: 指定网络名称。 docker network update
# 更新"my-network"网络的配置
docker network update my-network
说明:
my-network
: 指定网络名称。
12.4 卷
操作与管理
docker volume
# 列出当前的所有卷
docker volume ls
说明:
docker volume
: 管理Docker卷的命令。 docker volume create
# 创建一个新的卷,并命名为"my-volume"
docker volume create my-volume
说明:
my-volume
: 指定卷名称。 docker volume inspect
# 获取"my-volume"卷的详细信息
docker volume inspect my-volume
说明:
my-volume
: 指定卷名称。
列出与搜索
docker volume ls
# 列出当前的所有卷
docker volume ls
说明:
docker volume ls
: 列出所有卷。 docker volume prune
# 删除所有未使用的卷
docker volume prune
说明:
docker volume prune
: 删除未使用的卷。 docker volume rm
# 删除名为"my-volume"的卷
docker volume rm my-volume
说明:
my-volume
: 指定卷名称。
守护进程
docker daemon
# 启动Docker守护进程
dockerd
说明:
dockerd
: 启动Docker守护进程。
12.5 集群管理
操作与管理
docker swarm
# 列出当前Swarm模式的状态
docker swarm ls
说明:
docker swarm
: 管理Docker Swarm的命令。 docker swarm ca
# 获取或轮询根CA
docker swarm ca --cert-rotate
说明:
--cert-rotate
: 轮询并更新证书。 docker swarm init
# 初始化Swarm模式
docker swarm init --advertise-addr 192.168.1.1
说明:
--advertise-addr 192.168.1.1
: 指定Swarm管理节点的IP地址。 docker swarm join
# 将节点加入到Swarm模式
docker swarm join --token <SWARM_JOIN_TOKEN> 192.168.1.1:2377
说明:
<SWARM_JOIN_TOKEN>
: 加入令牌,由docker swarm init
命令生成。192.168.1.1:2377
: Swarm管理节点的地址和端口。 docker swarm leave
# 使节点离开Swarm模式
docker swarm leave --force
说明:
--force
: 强制离开Swarm模式。 docker swarm update
# 更新Swarm模式的配置
docker swarm update --autolock=true
说明:
--autolock=true
: 启用自动锁定。 docker swarm unlock
# 解锁Swarm模式
docker swarm unlock
说明:
- 输入解锁密钥以解锁Swarm模式。 docker swarm unlock-key
# 获取Swarm解锁密钥
docker swarm unlock-key
说明:
- 获取Swarm解锁密钥。
12.6 配置
操作与管理
docker config
# 列出当前的所有配置
docker config ls
说明:
docker config
: 管理Docker配置的命令。 docker config create
# 创建一个新的配置,并命名为"my-config"
echo "hello world" | docker config create my-config -
说明:
echo "hello world"
: 输出文本内容。my-config
: 指定新配置名称。 docker config inspect
# 获取"my-config"配置的详细信息
docker config inspect my-config
说明:
my-config
: 指定配置名称。
列出与搜索
docker config ls
# 列出当前的所有配置
docker config ls
说明:
docker config ls
: 列出所有配置。 docker config rm
# 删除名为"my-config"的配置
docker config rm my-config
说明:
my-config
: 指定配置名称。
12.7 插件
操作与管理
docker plugin
# 列出当前的所有插件
docker plugin ls
说明:
docker plugin
: 管理Docker插件的命令。 docker plugin create
# 创建一个新的插件
docker plugin create my-plugin /path/to/plugin:version
说明:
my-plugin
: 指定插件名称。/path/to/plugin:version
: 指定插件的路径和版本。 docker plugin disable
# 禁用名为"my-plugin"的插件
docker plugin disable my-plugin
说明:
my-plugin
: 指定插件名称。 docker plugin enable
# 启用名为"my-plugin"的插件
docker plugin enable my-plugin
说明:
my-plugin
: 指定插件名称。 docker plugin inspect
# 获取"my-plugin"插件的详细信息
docker plugin inspect my-plugin
说明:
my-plugin
: 指定插件名称。
列出与搜索
docker plugin ls
# 列出当前的所有插件
docker plugin ls
说明:
docker plugin ls
: 列出所有插件。 docker plugin push
# 推送名为"my-plugin"的插件到镜像仓库
docker plugin push my-plugin
说明:
my-plugin
: 指定插件名称。 docker plugin rm
# 删除名为"my-plugin"的插件
docker plugin rm my-plugin
说明:
my-plugin
: 指定插件名称。 docker plugin set
# 更新"my-plugin"插件的配置
docker plugin set my-plugin ENV my-key=my-value
说明:
my-plugin
: 指定插件名称。ENV my-key=my-value
: 设置环境变量。 docker plugin upgrade
# 升级名为"my-plugin"的插件
docker plugin upgrade my-plugin my-plugin:new-version
说明:
my-plugin
: 指定插件名称。my-plugin:new-version
: 指定新版本。
12.8 系统
信息与状态
docker system
# 显示Docker系统的状态
docker system df
说明:
docker system
: 管理Docker系统命令。 docker system df
# 显示Docker数据的使用情况
docker system df
说明:
docker system df
: 显示Docker数据使用情况。 docker system events
# 获取Docker事件
docker system events
说明:
docker system events
: 获取Docker事件。 docker system info
# 显示Docker系统信息
docker system info
说明:
docker system info
: 显示Docker系统信息。
清理
docker system prune
# 清理未使用的Docker对象
docker system prune
说明:
docker system prune
: 清理未使用的对象。 docker system update
# 更新Docker
docker system update
说明:
docker system update
: 更新Docker。
12.9 帮助
docker --help
# 获取Docker命令的帮助信息
docker --help
说明:
docker --help
: 获取Docker命令的帮助信息。 docker version
# 显示Docker的版本信息
docker version
说明:
docker version
: 显示Docker的版本信息。