全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)_搜索

Docker 是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用 Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker 都能确保应用的快速、可靠地部署和运行。

Docker 提供的不仅仅是容器,它还构建了一个庞大的生态系统,包括 Docker Hub、Docker Compose、Docker Swarm 等工具,这些工具涵盖了从开发到生产、从单一容器到容器编排的全方位需求。Docker 还支持多种编程语言、框架和中间件,使其成为现代应用开发和部署的首选工具。

肖哥弹架构 跟大家“弹弹” 高并发锁, 关注公号回复 ‘mvcc’ 获得手写数据库事务代码

欢迎 点赞,关注,评论。

关注公号Solomon肖哥弹架构获取更多精彩内容SS

历史热点文章

本节内容

全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)_搜索_02

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 .
  • 1.
  • 2.

说明

  • -t my-image: 指定镜像的名称和标签。
  • .: 表示使用当前目录下的Dockerfile。docker buildx
# 使用BuildKit构建一个新的镜像,并命名为"my-image"
docker buildx build -t my-image --platform linux/amd64,linux/arm64 .
  • 1.
  • 2.

说明

  • --platform linux/amd64,linux/arm64: 指定构建的镜像平台。
  • .: 表示使用当前目录下的Dockerfile。
保存与加载

docker commit

# 从名为"my-container"的容器创建一个新的镜像,并命名为"my-new-image"
docker commit my-container my-new-image
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。
  • my-new-image: 指定新镜像名称。docker save
# 将名为"my-image"的镜像保存为tar文件
docker save -o my-image.tar my-image
  • 1.
  • 2.

说明

  • -o my-image.tar: 指定输出文件的名称。docker load
# 从tar文件加载镜像
docker load -i my-image.tar
  • 1.
  • 2.

说明

  • -i my-image.tar: 指定输入文件的名称。
12.2 容器
操作与管理

docker container

# 列出当前的所有容器
docker container ls
  • 1.
  • 2.

说明

  • docker container: 管理容器的命令。docker container commit
# 从名为"my-container"的容器创建一个新的镜像,并命名为"my-new-image"
docker container commit my-container my-new-image
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。
  • my-new-image: 指定新镜像名称。docker container cp
# 从名为"my-container"的容器复制文件到当前目录
docker container cp my-container:/path/to/file ./
  • 1.
  • 2.

说明

  • my-container: 容器名称。
  • /path/to/file: 容器内部文件的路径。
  • ./: 目标路径,这里表示当前目录。docker container create
# 创建一个新的容器,但不启动它
docker container create --name my-container my-image
  • 1.
  • 2.

说明

  • --name my-container: 指定容器名称。
  • my-image: 指定基础镜像。docker container diff
# 查看名为"my-container"的容器的文件系统变化
docker container diff my-container
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。docker container exec
# 在名为"my-container"的容器中执行命令
docker container exec my-container ls
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。
  • ls: 要执行的命令。docker container export
# 导出名为"my-container"的容器的文件系统
docker container export my-container > my-container.tar
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。
  • >: 将导出的数据流重定向到文件。docker container inspect
# 获取名为"my-container"的容器的详细信息
docker container inspect my-container
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。docker container kill
# 杀死名为"my-container"的容器
docker container kill my-container
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。docker container logs
# 获取名为"my-container"的容器的日志
docker container logs my-container
  • 1.
  • 2.

说明

  • my-container: 指定容器名称。
列出与搜索

docker container ls

# 列出当前的所有容器
docker container ls
  • 1.
  • 2.

说明

  • docker container ls: 列出当前运行的容器。docker container prune
# 删除所有未使用的容器
docker container prune
  • 1.
  • 2.

说明

  • docker container prune: 删除未使用的容器。
12.3 网络
操作与管理

docker network

# 列出当前的所有网络
docker network ls
  • 1.
  • 2.

说明

  • docker network: 管理Docker网络的命令。docker network connect
# 将名为"my-container"的容器连接到"my-network"网络
docker network connect my-network my-container
  • 1.
  • 2.

说明

  • my-network: 指定网络名称。
  • my-container: 指定容器名称。docker network create
# 创建一个新的网络,并命名为"my-network"
docker network create my-network
  • 1.
  • 2.

说明

  • my-network: 指定网络名称。docker network disconnect
# 从"my-network"网络断开名为"my-container"的容器
docker network disconnect my-network my-container
  • 1.
  • 2.

说明

  • my-network: 指定网络名称。
  • my-container: 指定容器名称。docker network inspect
# 获取"my-network"网络的详细信息
docker network inspect my-network
  • 1.
  • 2.

说明

  • my-network: 指定网络名称。
列出与搜索

docker network ls

# 列出当前的所有网络
docker network ls
  • 1.
  • 2.

说明

  • docker network ls: 列出所有网络。docker network prune
# 删除所有未使用的网络
docker network prune
  • 1.
  • 2.

说明

  • docker network prune: 删除未使用的网络。docker network rm
# 删除名为"my-network"的网络
docker network rm my-network
  • 1.
  • 2.

说明

  • my-network: 指定网络名称。docker network update
# 更新"my-network"网络的配置
docker network update my-network
  • 1.
  • 2.

说明

  • my-network: 指定网络名称。
12.4 卷
操作与管理

docker volume

# 列出当前的所有卷
docker volume ls
  • 1.
  • 2.

说明

  • docker volume: 管理Docker卷的命令。docker volume create
# 创建一个新的卷,并命名为"my-volume"
docker volume create my-volume
  • 1.
  • 2.

说明

  • my-volume: 指定卷名称。docker volume inspect
# 获取"my-volume"卷的详细信息
docker volume inspect my-volume
  • 1.
  • 2.

说明

  • my-volume: 指定卷名称。
列出与搜索

docker volume ls

# 列出当前的所有卷
docker volume ls
  • 1.
  • 2.

说明

  • docker volume ls: 列出所有卷。docker volume prune
# 删除所有未使用的卷
docker volume prune
  • 1.
  • 2.

说明

  • docker volume prune: 删除未使用的卷。docker volume rm
# 删除名为"my-volume"的卷
docker volume rm my-volume
  • 1.
  • 2.

说明

  • my-volume: 指定卷名称。
守护进程

docker daemon

# 启动Docker守护进程
dockerd
  • 1.
  • 2.

说明

  • dockerd: 启动Docker守护进程。
12.5 集群管理
操作与管理

docker swarm

# 列出当前Swarm模式的状态
docker swarm ls
  • 1.
  • 2.

说明

  • docker swarm: 管理Docker Swarm的命令。docker swarm ca
# 获取或轮询根CA
docker swarm ca --cert-rotate
  • 1.
  • 2.

说明

  • --cert-rotate: 轮询并更新证书。docker swarm init
# 初始化Swarm模式
docker swarm init --advertise-addr 192.168.1.1
  • 1.
  • 2.

说明

  • --advertise-addr 192.168.1.1: 指定Swarm管理节点的IP地址。docker swarm join
# 将节点加入到Swarm模式
docker swarm join --token <SWARM_JOIN_TOKEN> 192.168.1.1:2377
  • 1.
  • 2.

说明

  • <SWARM_JOIN_TOKEN>: 加入令牌,由docker swarm init命令生成。
  • 192.168.1.1:2377: Swarm管理节点的地址和端口。docker swarm leave
# 使节点离开Swarm模式
docker swarm leave --force
  • 1.
  • 2.

说明

  • --force: 强制离开Swarm模式。docker swarm update
# 更新Swarm模式的配置
docker swarm update --autolock=true
  • 1.
  • 2.

说明

  • --autolock=true: 启用自动锁定。docker swarm unlock
# 解锁Swarm模式
docker swarm unlock
  • 1.
  • 2.

说明

  • 输入解锁密钥以解锁Swarm模式。docker swarm unlock-key
# 获取Swarm解锁密钥
docker swarm unlock-key
  • 1.
  • 2.

说明

  • 获取Swarm解锁密钥。
12.6 配置
操作与管理

docker config

# 列出当前的所有配置
docker config ls
  • 1.
  • 2.

说明

  • docker config: 管理Docker配置的命令。docker config create
# 创建一个新的配置,并命名为"my-config"
echo "hello world" | docker config create my-config -
  • 1.
  • 2.

说明

  • echo "hello world": 输出文本内容。
  • my-config: 指定新配置名称。docker config inspect
# 获取"my-config"配置的详细信息
docker config inspect my-config
  • 1.
  • 2.

说明

  • my-config: 指定配置名称。
列出与搜索

docker config ls

# 列出当前的所有配置
docker config ls
  • 1.
  • 2.

说明

  • docker config ls: 列出所有配置。docker config rm
# 删除名为"my-config"的配置
docker config rm my-config
  • 1.
  • 2.

说明

  • my-config: 指定配置名称。
12.7 插件
操作与管理

docker plugin

# 列出当前的所有插件
docker plugin ls
  • 1.
  • 2.

说明

  • docker plugin: 管理Docker插件的命令。docker plugin create
# 创建一个新的插件
docker plugin create my-plugin /path/to/plugin:version
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。
  • /path/to/plugin:version: 指定插件的路径和版本。docker plugin disable
# 禁用名为"my-plugin"的插件
docker plugin disable my-plugin
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。docker plugin enable
# 启用名为"my-plugin"的插件
docker plugin enable my-plugin
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。docker plugin inspect
# 获取"my-plugin"插件的详细信息
docker plugin inspect my-plugin
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。
列出与搜索

docker plugin ls

# 列出当前的所有插件
docker plugin ls
  • 1.
  • 2.

说明

  • docker plugin ls: 列出所有插件。docker plugin push
# 推送名为"my-plugin"的插件到镜像仓库
docker plugin push my-plugin
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。docker plugin rm
# 删除名为"my-plugin"的插件
docker plugin rm my-plugin
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。docker plugin set
# 更新"my-plugin"插件的配置
docker plugin set my-plugin ENV my-key=my-value
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。
  • ENV my-key=my-value: 设置环境变量。docker plugin upgrade
# 升级名为"my-plugin"的插件
docker plugin upgrade my-plugin my-plugin:new-version
  • 1.
  • 2.

说明

  • my-plugin: 指定插件名称。
  • my-plugin:new-version: 指定新版本。
12.8 系统
信息与状态

docker system

# 显示Docker系统的状态
docker system df
  • 1.
  • 2.

说明

  • docker system: 管理Docker系统命令。docker system df
# 显示Docker数据的使用情况
docker system df
  • 1.
  • 2.

说明

  • docker system df: 显示Docker数据使用情况。docker system events
# 获取Docker事件
docker system events
  • 1.
  • 2.

说明

  • docker system events: 获取Docker事件。docker system info
# 显示Docker系统信息
docker system info
  • 1.
  • 2.

说明

  • docker system info: 显示Docker系统信息。
清理

docker system prune

# 清理未使用的Docker对象
docker system prune
  • 1.
  • 2.

说明

  • docker system prune: 清理未使用的对象。docker system update
# 更新Docker
docker system update
  • 1.
  • 2.

说明

  • docker system update: 更新Docker。
12.9 帮助

docker --help

# 获取Docker命令的帮助信息
docker --help
  • 1.
  • 2.

说明

  • docker --help: 获取Docker命令的帮助信息。docker version
# 显示Docker的版本信息
docker version
  • 1.
  • 2.

说明

  • docker version: 显示Docker的版本信息。