mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-13 13:21:18 +00:00
Compare commits
3 Commits
d6fff9a3f7
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4cc09a28fa | ||
|
|
1dded72085 | ||
|
|
d3e253a6cc |
@@ -168,7 +168,7 @@ stateDiagram-v2
|
|||||||
Deleted --> [*]
|
Deleted --> [*]
|
||||||
```
|
```
|
||||||
|
|
||||||
图 2-1 容器生命周期状态流转图
|
图 2-1:容器生命周期状态流转图
|
||||||
|
|
||||||
#### 常用生命周期命令
|
#### 常用生命周期命令
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ flowchart TB
|
|||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
图 2-2 Registry、Repository 与 Tag 的层级关系
|
图 2-2:Registry、Repository 与 Tag 的层级关系
|
||||||
|
|
||||||
相关基本概念具体如下:
|
相关基本概念具体如下:
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@ $ docker pull localhost:5000/myapp:v1.0
|
|||||||
│ │ 运行容器 │
|
│ │ 运行容器 │
|
||||||
```
|
```
|
||||||
|
|
||||||
图 2-3 镜像构建、推送与拉取流程
|
图 2-3:镜像构建、推送与拉取流程
|
||||||
|
|
||||||
#### 常用命令
|
#### 常用命令
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 8-1 Docker 数据挂载类型示意图
|
图 8-1:Docker 数据挂载类型示意图
|
||||||
|
|
||||||
这一章介绍如何在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有以下几种方式:
|
这一章介绍如何在 Docker 内部以及容器之间管理数据,在容器中管理数据主要有以下几种方式:
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
Docker Compose 让用户能够以声明式方式定义和管理多容器应用。它的核心价值在于:用一个 YAML 文件取代一连串手动的 `docker run` 命令,使得复杂应用的启动、停止和重建变得一键可达。
|
Docker Compose 让用户能够以声明式方式定义和管理多容器应用。它的核心价值在于:用一个 YAML 文件取代一连串手动的 `docker run` 命令,使得复杂应用的启动、停止和重建变得一键可达。
|
||||||
|
|
||||||
对于开发团队而言,Compose 解决了三个关键问题:环境一致性("在我机器上能跑"的问题)、服务依赖管理(确保数据库在应用之前启动)、以及开发-测试-生产的配置差异管理(通过 `compose.override.yaml` 实现多环境适配)。
|
对于开发团队而言,Compose 解决了三个关键问题:环境一致性(“在我机器上能跑”的问题)、服务依赖管理(确保数据库在应用之前启动)、以及开发-测试-生产的配置差异管理(通过 `compose.override.yaml` 实现多环境适配)。
|
||||||
|
|
||||||
### 11.1.2 模板文件规范
|
### 11.1.2 模板文件规范
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
### 11.6.1 架构概览
|
### 11.6.1 架构概览
|
||||||
|
|
||||||
在开始之前,先看整体架构 (如图 10-1 所示):
|
在开始之前,先看整体架构 (如图 11-1:所示):
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart TD
|
flowchart TD
|
||||||
@@ -31,7 +31,7 @@ flowchart TD
|
|||||||
Port8000 --> Browser
|
Port8000 --> Browser
|
||||||
```
|
```
|
||||||
|
|
||||||
图 10-1 Django + PostgreSQL 的 Compose 架构
|
图 11-1:Django + PostgreSQL 的 Compose 架构
|
||||||
|
|
||||||
**关键点**:
|
**关键点**:
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
### 11.7.1 架构概览
|
### 11.7.1 架构概览
|
||||||
|
|
||||||
如图 10-2 所示,Rails 与 PostgreSQL 在同一 Compose 网络中协同工作。
|
如图 11-2:所示,Rails 与 PostgreSQL 在同一 Compose 网络中协同工作。
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
flowchart TD
|
flowchart TD
|
||||||
@@ -31,7 +31,7 @@ flowchart TD
|
|||||||
Port3000 --> Browser
|
Port3000 --> Browser
|
||||||
```
|
```
|
||||||
|
|
||||||
图 10-2 Rails + PostgreSQL 的 Compose 架构
|
图 11-2:Rails + PostgreSQL 的 Compose 架构
|
||||||
|
|
||||||
### 11.7.2 准备工作
|
### 11.7.2 准备工作
|
||||||
|
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ flowchart LR
|
|||||||
|
|
||||||
| 时间 | 事件 |
|
| 时间 | 事件 |
|
||||||
|------|------|
|
|------|------|
|
||||||
| 2006 | Google 工程师提出 "process containers" 概念 |
|
| 2006 | Google 工程师提出 “process containers” 概念 |
|
||||||
| 2007 | 为避免与 Linux 容器概念混淆,更名为 "control groups" (cgroups) |
|
| 2007 | 为避免与 Linux 容器概念混淆,更名为 “control groups” (cgroups) |
|
||||||
| 2008 | Linux 2.6.24(2008年1月)正式合并 cgroups v1 |
|
| 2008 | Linux 2.6.24(2008年1月)正式合并 cgroups v1 |
|
||||||
| 2016 | Linux 4.5 引入 cgroups v2 |
|
| 2016 | Linux 4.5 引入 cgroups v2 |
|
||||||
| 现在 | Docker 在宿主机支持 cgroups v2 时会自动使用 v2,否则回退到 v1 |
|
| 现在 | Docker 在宿主机支持 cgroups v2 时会自动使用 v2,否则回退到 v1 |
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-1 Kubernetes 项目标识
|
图 13-1:Kubernetes 项目标识
|
||||||
|
|
||||||
### 13.1.1 什么是 Kubernetes
|
### 13.1.1 什么是 Kubernetes
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-2 Kubernetes 基本概念示意图
|
图 13-2:Kubernetes 基本概念示意图
|
||||||
|
|
||||||
* 节点 (`Node`):一个节点是一个运行 Kubernetes 中的主机。
|
* 节点 (`Node`):一个节点是一个运行 Kubernetes 中的主机。
|
||||||
* 容器组 (`Pod`):一个 Pod 对应于由若干容器组成的一个容器组,同个组内的容器共享一个存储卷 (volume)。
|
* 容器组 (`Pod`):一个 Pod 对应于由若干容器组成的一个容器组,同个组内的容器共享一个存储卷 (volume)。
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-3 Kubernetes 运行原理图
|
图 13-3:Kubernetes 运行原理图
|
||||||
|
|
||||||
可见,Kubernetes 首先是一套分布式系统,由多个节点组成,节点分为两类:一类是属于管理平面的主节点/控制节点 (Master Node);一类是属于运行平面的工作节点 (Worker Node)。
|
可见,Kubernetes 首先是一套分布式系统,由多个节点组成,节点分为两类:一类是属于管理平面的主节点/控制节点 (Master Node);一类是属于运行平面的工作节点 (Worker Node)。
|
||||||
|
|
||||||
@@ -52,4 +52,4 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-4 kube-proxy 请求转发示意图
|
图 13-4:kube-proxy 请求转发示意图
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
## 15.1 简介
|
## 15.1 简介
|
||||||
|
|
||||||
如图 12-5 所示,etcd 项目使用该标识。
|
如图 15-1:所示,etcd 项目使用该标识。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 12-5 etcd 项目标识
|
图 15-1:etcd 项目标识
|
||||||
|
|
||||||
`etcd` 是 `CoreOS` 团队于 2013 年 6 月发起的开源项目,它的目标是构建一个高可用的分布式键值 (`key-value`) 数据库,基于 `Go` 语言实现。我们知道,在分布式系统中,各种服务的配置信息的管理分享,服务的发现是一个很基本同时也是很重要的问题。`CoreOS` 项目就希望基于 `etcd` 来解决这一问题。
|
`etcd` 是 `CoreOS` 团队于 2013 年 6 月发起的开源项目,它的目标是构建一个高可用的分布式键值 (`key-value`) 数据库,基于 `Go` 语言实现。我们知道,在分布式系统中,各种服务的配置信息的管理分享,服务的发现是一个很基本同时也是很重要的问题。`CoreOS` 项目就希望基于 `etcd` 来解决这一问题。
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
## 16.2 腾讯云
|
## 16.2 腾讯云
|
||||||
|
|
||||||
如图 13-5 所示,腾讯云提供完整的云基础设施与容器能力。
|
如图 16-1:所示,腾讯云提供完整的云基础设施与容器能力。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-5 腾讯云标识
|
图 16-1:腾讯云标识
|
||||||
|
|
||||||
[腾讯云](https://cloud.tencent.com/act/cps/redirect?redirect=1040\&cps_key=3a5255852d5db99dcd5da4c72f05df61\&from=console)在架构方面经过多年积累,并且有着多年对海量互联网服务的经验。不管是社交、游戏还是其他领域,都有多年的成熟产品来提供产品服务。腾讯在云端完成重要部署,为开发者及企业提供云服务、云数据、云运营等整体一站式服务方案。
|
[腾讯云](https://cloud.tencent.com/act/cps/redirect?redirect=1040\&cps_key=3a5255852d5db99dcd5da4c72f05df61\&from=console)在架构方面经过多年积累,并且有着多年对海量互联网服务的经验。不管是社交、游戏还是其他领域,都有多年的成熟产品来提供产品服务。腾讯在云端完成重要部署,为开发者及企业提供云服务、云数据、云运营等整体一站式服务方案。
|
||||||
|
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-6 腾讯云容器服务示意图
|
图 16-2:腾讯云容器服务示意图
|
||||||
|
|
||||||
### 腾讯云容器服务 (TKE) 简介
|
### 腾讯云容器服务 (TKE) 简介
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
#### 1. 创建集群
|
#### 1. 创建集群
|
||||||
|
|
||||||
登录腾讯云控制台,进入容器服务模块:
|
登录腾讯云控制台,进入容器服务模块:
|
||||||
- 选择 "创建集群",配置集群名称、地域和网络
|
- 选择 “创建集群”,配置集群名称、地域和网络
|
||||||
- 选择节点配置(云服务器规格和数量)
|
- 选择节点配置(云服务器规格和数量)
|
||||||
- 设置 Kubernetes 版本和安全组
|
- 设置 Kubernetes 版本和安全组
|
||||||
- 完成创建后获得集群 kubeconfig 文件
|
- 完成创建后获得集群 kubeconfig 文件
|
||||||
@@ -128,9 +128,9 @@ docker info | grep -A 5 "Registry Mirrors"
|
|||||||
|
|
||||||
对于 Docker Desktop,在设置界面中:
|
对于 Docker Desktop,在设置界面中:
|
||||||
1. 打开 Docker Desktop 设置
|
1. 打开 Docker Desktop 设置
|
||||||
2. 导航到 "Docker Engine"
|
2. 导航到 “Docker Engine”
|
||||||
3. 在 JSON 配置中添加上述 `registry-mirrors` 字段
|
3. 在 JSON 配置中添加上述 `registry-mirrors` 字段
|
||||||
4. 点击 "Apply & Restart"
|
4. 点击 “Apply & Restart”
|
||||||
|
|
||||||
### 腾讯云容器镜像服务 (TCR)
|
### 腾讯云容器镜像服务 (TCR)
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
## 16.3 阿里云
|
## 16.3 阿里云
|
||||||
|
|
||||||
如图 13-3 所示,阿里云是国内主流云服务平台之一。
|
如图 16-3:所示,阿里云是国内主流云服务平台之一。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-3 阿里云标识
|
图 16-3:阿里云标识
|
||||||
|
|
||||||
[阿里云](https://www.aliyun.com/?source=5176.11533457\&userCode=8lx5zmtu\&type=copy)创立于 2009 年,是中国较早的云计算平台。阿里云致力于提供安全、可靠的计算和数据处理能力。
|
[阿里云](https://www.aliyun.com/?source=5176.11533457\&userCode=8lx5zmtu\&type=copy)创立于 2009 年,是中国较早的云计算平台。阿里云致力于提供安全、可靠的计算和数据处理能力。
|
||||||
|
|
||||||
@@ -15,7 +15,7 @@
|
|||||||
<!-- 注意:原阿里云容器服务截图链接已失效,请参考阿里云官方文档获取最新界面截图 -->
|
<!-- 注意:原阿里云容器服务截图链接已失效,请参考阿里云官方文档获取最新界面截图 -->
|
||||||
<!-- 原链接: https://img.alicdn.com/tps/TB10yjtPpXXXXacXXXXXXXXXXXX-1531-1140.png -->
|
<!-- 原链接: https://img.alicdn.com/tps/TB10yjtPpXXXXacXXXXXXXXXXXX-1531-1140.png -->
|
||||||
|
|
||||||
图 13-4 阿里云容器服务示意图(请访问 [阿里云容器服务 ACK 官方文档](https://help.aliyun.com/product/85222.html) 查看最新界面)
|
图 16-4:阿里云容器服务示意图(请访问 [阿里云容器服务 ACK 官方文档](https://help.aliyun.com/product/85222.html) 查看最新界面)
|
||||||
|
|
||||||
### 阿里云容器服务 ACK 简介
|
### 阿里云容器服务 ACK 简介
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
#### 1. 创建集群
|
#### 1. 创建集群
|
||||||
|
|
||||||
登录阿里云控制台,进入容器服务 > Kubernetes 集群:
|
登录阿里云控制台,进入容器服务 > Kubernetes 集群:
|
||||||
- 点击 "创建集群",选择集群配置
|
- 点击 “创建集群”,选择集群配置
|
||||||
- 配置集群名称、地域、可用区和节点类型
|
- 配置集群名称、地域、可用区和节点类型
|
||||||
- 选择节点规格和数量(支持弹性伸缩)
|
- 选择节点规格和数量(支持弹性伸缩)
|
||||||
- 配置网络参数和安全设置
|
- 配置网络参数和安全设置
|
||||||
@@ -107,7 +107,7 @@ kubectl get svc web-service
|
|||||||
|
|
||||||
#### 获取加速器地址
|
#### 获取加速器地址
|
||||||
|
|
||||||
登录阿里云容器镜像服务控制台,在 "镜像工具" > "镜像加速器" 中可获取个人的加速器地址(类似于 `https://xxxxxx.mirror.aliyuncs.com`)。
|
登录阿里云容器镜像服务控制台,在 “镜像工具” > “镜像加速器” 中可获取个人的加速器地址(类似于 `https://xxxxxx.mirror.aliyuncs.com`)。
|
||||||
|
|
||||||
#### Linux 系统配置
|
#### Linux 系统配置
|
||||||
|
|
||||||
@@ -144,9 +144,9 @@ docker info | grep -A 5 "Registry Mirrors"
|
|||||||
#### Windows/Mac 配置
|
#### Windows/Mac 配置
|
||||||
|
|
||||||
在 Docker Desktop 的 Settings 中:
|
在 Docker Desktop 的 Settings 中:
|
||||||
1. 进入 "Docker Engine" 标签
|
1. 进入 “Docker Engine” 标签
|
||||||
2. 编辑 JSON 配置,添加 `registry-mirrors` 字段
|
2. 编辑 JSON 配置,添加 `registry-mirrors` 字段
|
||||||
3. 点击 "Apply & Restart"
|
3. 点击 “Apply & Restart”
|
||||||
|
|
||||||
#### 测试加速效果
|
#### 测试加速效果
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
## 16.4 亚马逊云
|
## 16.4 亚马逊云
|
||||||
|
|
||||||
如图 13-1 所示,AWS 是全球主流云服务平台之一。
|
如图 16-5:所示,AWS 是全球主流云服务平台之一。
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-1 AWS 标识
|
图 16-5:AWS 标识
|
||||||
|
|
||||||
[AWS](https://www.amazonaws.cn),即 Amazon Web Services,是亚马逊 (Amazon) 公司的 IaaS 和 PaaS 平台服务。AWS 提供了一整套基础设施和应用程序服务,使用户几乎能够在云中运行一切应用程序:从企业应用程序和大数据项目,到社交游戏和移动应用程序。AWS 面向用户提供包括弹性计算、存储、数据库、应用程序在内的一整套云计算服务,能够帮助企业降低 IT 投入成本和维护成本。
|
[AWS](https://www.amazonaws.cn),即 Amazon Web Services,是亚马逊 (Amazon) 公司的 IaaS 和 PaaS 平台服务。AWS 提供了一整套基础设施和应用程序服务,使用户几乎能够在云中运行一切应用程序:从企业应用程序和大数据项目,到社交游戏和移动应用程序。AWS 面向用户提供包括弹性计算、存储、数据库、应用程序在内的一整套云计算服务,能够帮助企业降低 IT 投入成本和维护成本。
|
||||||
|
|
||||||
@@ -23,4 +23,4 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 13-2 AWS 容器服务示意图
|
图 16-6:AWS 容器服务示意图
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Fedora CoreOS
|
## Fedora CoreOS
|
||||||
|
|
||||||
`CoreOS` 是一个专门为安全和大规模运行容器化工作负载而构建的新 Fedora 版本,它继承了 Fedora Atomic Host 和 CoreOS Container Linux 的优势。
|
`CoreOS` 是一个专门为安全和大规模运行容器化工作负载而构建的新 Fedora 版本,它继承了 Fedora Atomic Host 和 CoreOS Container Linux 的优势。
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
- **通用镜像** (Debian、Ubuntu) - 提供完整的 Linux 功能和丰富的软件生态,镜像大小通常在 100-300 MB 之间。适合需要灵活安装各种依赖和工具的应用场景。
|
- **通用镜像** (Debian、Ubuntu) - 提供完整的 Linux 功能和丰富的软件生态,镜像大小通常在 100-300 MB 之间。适合需要灵活安装各种依赖和工具的应用场景。
|
||||||
- **企业级镜像** (CentOS、Fedora) - 基于 Red Hat 生态,广泛应用于企业环境和复杂系统应用。提供了 yum 包管理器和强大的系统管理工具。
|
- **企业级镜像** (CentOS、Fedora) - 基于 Red Hat 生态,广泛应用于企业环境和复杂系统应用。提供了 yum 包管理器和强大的系统管理工具。
|
||||||
|
|
||||||
选择镜像的关键原则是 "小而够用"——选择满足应用需求的最小镜像。这样可以减少安全漏洞表面积、加快镜像拉取和推送速度、降低存储成本,同时也使容器更便于分发和部署。
|
选择镜像的关键原则是 “小而够用”——选择满足应用需求的最小镜像。这样可以减少安全漏洞表面积、加快镜像拉取和推送速度、降低存储成本,同时也使容器更便于分发和部署。
|
||||||
|
|
||||||
## 常用操作系统镜像对比
|
## 常用操作系统镜像对比
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
## DevOps 背景介绍
|
## DevOps 背景介绍
|
||||||
|
|
||||||
DevOps 是一种重要的开发和运维文化,强调开发团队和运维团队之间的协作和自动化。它致力于通过自动化和流程优化,加快软件交付速度,同时提高系统的稳定性和可靠性。Docker 作为容器化技术的领导者,已成为现代 DevOps 工作流中不可或缺的工具。通过容器化应用,开发团队可以确保"一次构建,处处运行",消除开发、测试和生产环境的差异,大大简化了部署流程。
|
DevOps 是一种重要的开发和运维文化,强调开发团队和运维团队之间的协作和自动化。它致力于通过自动化和流程优化,加快软件交付速度,同时提高系统的稳定性和可靠性。Docker 作为容器化技术的领导者,已成为现代 DevOps 工作流中不可或缺的工具。通过容器化应用,开发团队可以确保“一次构建,处处运行”,消除开发、测试和生产环境的差异,大大简化了部署流程。
|
||||||
|
|
||||||
## Docker 在 DevOps 中的角色
|
## Docker 在 DevOps 中的角色
|
||||||
|
|
||||||
Docker 在 DevOps 工作流中承担多个关键角色。首先,它标准化了应用的开发和部署环境,使得团队成员在相同的 Docker 容器中工作,避免了"在我的机器上可以运行"的问题。其次,Docker 与 CI/CD 流程无缝集成,通过自动化的镜像构建、测试和部署,实现快速的迭代周期。此外,Docker 还支持微服务架构和容器编排,使团队能够更灵活地扩展应用和管理基础设施。
|
Docker 在 DevOps 工作流中承担多个关键角色。首先,它标准化了应用的开发和部署环境,使得团队成员在相同的 Docker 容器中工作,避免了“在我的机器上可以运行”的问题。其次,Docker 与 CI/CD 流程无缝集成,通过自动化的镜像构建、测试和部署,实现快速的迭代周期。此外,Docker 还支持微服务架构和容器编排,使团队能够更灵活地扩展应用和管理基础设施。
|
||||||
|
|
||||||
## CI/CD 管道的重要性
|
## CI/CD 管道的重要性
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
## 五分钟快速上手
|
## 五分钟快速上手
|
||||||
|
|
||||||
"5分钟运行第一个容器"——跟随以下步骤快速体验 Docker:
|
“5分钟运行第一个容器”——跟随以下步骤快速体验 Docker:
|
||||||
|
|
||||||
1. **安装 Docker**(第1章):根据操作系统完成 Docker 的安装与验证
|
1. **安装 Docker**(第1章):根据操作系统完成 Docker 的安装与验证
|
||||||
2. **第一个容器**:执行 `docker run hello-world`,体验最简单的容器运行
|
2. **第一个容器**:执行 `docker run hello-world`,体验最简单的容器运行
|
||||||
@@ -127,7 +127,7 @@ npx honkit serve
|
|||||||
<img width="200" src="https://github.com/yeasy/docker_practice/raw/master/_images/donate.jpeg">
|
<img width="200" src="https://github.com/yeasy/docker_practice/raw/master/_images/donate.jpeg">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align=“center”><strong>欢迎鼓励项目一杯 coffee~</strong></p>
|
<p align="center"><strong>欢迎鼓励项目一杯 coffee~</strong></p>
|
||||||
|
|
||||||
## Star History
|
## Star History
|
||||||
|
|
||||||
|
|||||||
BIN
_images/docker_primer4.jpg
Normal file
BIN
_images/docker_primer4.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
@@ -68,7 +68,7 @@
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
图 16-1 Docker 客户端命令分类示意图
|
图 A-1:Docker 客户端命令分类示意图
|
||||||
|
|
||||||
### 参考
|
### 参考
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user