首页 > 其他分享 >全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)

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

时间:2024-10-06 12:20:41浏览次数:3  
标签:架构设计 container network plugin 链路 Docker my docker

在这里插入图片描述

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

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

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

欢迎 点赞,关注,评论。

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

历史热点文章

本节内容

在这里插入图片描述

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的版本信息。

标签:架构设计,container,network,plugin,链路,Docker,my,docker
From: https://blog.51cto.com/xiaogeit/12178105

相关文章

  • 全面图解Docker架构设计:掌握Docker全链路思维与优化(命令篇)
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker都能确......
  • 高效开发Maven架构设计图解/掌握项目工程自动化技巧(精通篇一)
    Maven是一个项目管理和构建自动化工具,主要服务于基于Java的项目。它使用一个名为POM(ProjectObjectModel)的XML文件来描述项目的构建过程、依赖、插件等信息。肖哥弹架构跟大家“弹弹”高并发锁,关注公号回复'mvcc'获得手写数据库事务代码欢迎点赞,关注,评论。关注公号S......
  • 1分钟了解什么是docker和docker-compose?前后端必知必会技能GET啦
    @目录前情提要Docker定义:主要功能:命令示例:其他DockerCompose定义:我为什么使用它?主要功能:命令示例:主要区别配置文件:命令行操作:依赖关系管理:实际应用场景单个服务:多服务应用:总结结语欢迎路过的小哥哥小姐姐们提出更好的意见哇~~前情提要本文非常简短,如果需要详细介绍......
  • 如何解决 构建dotnet docker镜像时报错:error NU1301: Unable to load the service ind
    我用的是dockerdesktop,Builders设置:desktop-linux以下是我的dotnet项目的Dockerfile内容FROMmcr.microsoft.com/dotnet/aspnet:6.0ASbaseWORKDIR/appEXPOSE80EXPOSE443FROMmcr.microsoft.com/dotnet/sdk:6.0ASbuildWORKDIR/srcCOPY["NuGet.Config","......
  • 全面图解Docker架构设计:掌握Docker全链路思维/实战/优化(小白到大师篇[2])
    Docker是一个革命性的开放平台,用于开发、交付和运行应用程序。通过使用Docker,开发者可以打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何支持Docker的环境中,在不同环境中实现一致的运行。无论是在虚拟机、物理服务器、数据中心还是云平台,Docker......
  • 群晖docker实现稍后阅读wallabag
    开篇本文基于docker和github开源项目wallabag关于群晖安装,在项目的说明文档里面显示他们在群晖社区里面提供了一个套件,但我在添加社区以后并没有找到,所以采用了docker方式拉取镜像Ssh链接群晖,sudo-i进入root权限使用命令dockerrun-v/opt/wallabag/d......
  • Docker容器Centos不能使用systemctl命令问题
    最近使用Docker搭建Centos容器时遇到这样的问题:Centos系统的不能使用systemctl命令!具体场景使用systemctl或service命令重启服务时。systemctlrestartsnmpd.service会报无权限的错误:FailedtogetD-Busconnection:Operationnotpermitted;这是docker中centos7......
  • 03 掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析
    文章目录03掌握Docker核心架构:镜像、仓库、容器及运行管理的深度解析一概述1.1镜像1.2镜像仓库1.3容器二、镜像及镜像仓库2.1本地镜像仓库2.2镜像仓库简介2.3使用远端仓库2.3.1从远端镜像仓库拉取apache镜像2.3.2从远端镜像仓库拉取指定......
  • macbook m1 pro 使用parallel desktop安装ubuntu24.04以及docker+网络配置
    1.使用paralleldesktop安装ubuntu这个不多说,一开始以为使用24.04版本太新,目前倒是也没遇到什么问题,直接使用pd首页提供的镜像就可以2.配置网络我本地是在macm1pro上,使用了shadowrocket,打开sr,下面设置中有一个代理共享,开启它,并配置一个端口回到ubuntu中,打开网络配置,把......
  • 使用 NVIDIA Container Toolkit 和 Docker 配置 GPU 深度学习环境
    在深度学习开发中,充分利用GPU资源是提高模型训练效率的关键。本文将详细介绍如何安装NVIDIAContainerToolkit,并配置Docker容器以利用GPU进行深度学习训练。我们将结合NVIDIAContainerToolkit的安装和Docker容器的配置,确保你拥有一个高效的GPU开发环境。1.安装......