mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-08-10 08:27:25 +00:00
Update versions and fix stale data
This commit is contained in:
@@ -34,6 +34,6 @@ Docker Compose 默认使用 `compose.yaml`,也兼容 `compose.yml`、`docker-c
|
|||||||
|
|
||||||
`Compose` 项目早期由 Python 编写,称为 Docker Compose V1。
|
`Compose` 项目早期由 Python 编写,称为 Docker Compose V1。
|
||||||
|
|
||||||
现在的 Docker Compose V2 是一个 Go 语言编写的 Docker CLI 插件。Docker Desktop 默认包含它;在 Linux 上,也可以将它作为独立的 CLI 插件安装后直接通过 `docker compose` 命令使用。它提供了更快的性能和更好的集成体验。
|
现在的 Docker Compose V2 是一个 Go 语言编写的 Docker CLI 插件(当前版本号已演进至 v5.x 系列,以避免与旧 Compose 文件格式版本混淆)。Docker Desktop 默认包含它;在 Linux 上,也可以将它作为独立的 CLI 插件安装后直接通过 `docker compose` 命令使用。它提供了更快的性能和更好的集成体验。
|
||||||
|
|
||||||
只要所操作的平台支持 Docker API,就可以在其上利用 `Compose` 来进行编排管理。
|
只要所操作的平台支持 Docker API,就可以在其上利用 `Compose` 来进行编排管理。
|
||||||
|
|||||||
@@ -34,7 +34,8 @@
|
|||||||
Kubernetes 作为一个容器编排系统,为了屏蔽底层不同容器运行时的实现差异,引入了 CRI(Container Runtime Interface)标准。
|
Kubernetes 作为一个容器编排系统,为了屏蔽底层不同容器运行时的实现差异,引入了 CRI(Container Runtime Interface)标准。
|
||||||
|
|
||||||
- 早期版本中,Kubernetes 默认使用 docker 作为运行时,通过一个名为 `dockershim` 的桥接组件对接 Docker,Docker 再对接 containerd。
|
- 早期版本中,Kubernetes 默认使用 docker 作为运行时,通过一个名为 `dockershim` 的桥接组件对接 Docker,Docker 再对接 containerd。
|
||||||
- 随着 containerd 原生支持了 CRI 插件,Kubernetes 开始直接与 containerd 通信,去掉了 `dockershim` 和 `dockerd` 的中间层。这就是为什么从 Kubernetes v1.24 开始“弃用 Docker”引发了广泛关注,实际上 Kubernetes 只是弃用 `dockershim`,底层依然在使用从 Docker 基因中诞生的 containerd。
|
- 随着 containerd 原生支持了 CRI 插件,Kubernetes 开始直接与 containerd 通信,去掉了 `dockershim` 和 `dockerd` 的中间层。这就是为什么从 Kubernetes v1.24 开始”弃用 Docker”引发了广泛关注,实际上 Kubernetes 只是弃用 `dockershim`,底层依然在使用从 Docker 基因中诞生的 containerd。
|
||||||
|
- containerd 2.0 移除了已弃用的 CRI v1alpha2 接口,仅保留 CRI v1(Kubernetes 自 v1.23 起已支持 CRI v1)。如果集群中仍有依赖 CRI v1alpha2 的组件,升级 containerd 2.x 前需先完成迁移。
|
||||||
|
|
||||||
### 为什么直接使用 containerd?
|
### 为什么直接使用 containerd?
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ ELK (Elasticsearch,Logstash,Kibana) 是目前业界最流行的开源日志
|
|||||||
|
|
||||||
#### 1. 编写 Compose 文件
|
#### 1. 编写 Compose 文件
|
||||||
|
|
||||||
1. 编写 `compose.yaml` (或 `docker-compose.yml`) 配置如下:
|
1. 编写 `compose.yaml` (或 `docker-compose.yml`) 配置如下(示例基于 Elasticsearch 8.x,当前最新大版本为 9.x,请根据需要选择版本并查阅 [Elastic 官方文档](https://www.elastic.co/docs/) 确认配置兼容性):
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
|
|||||||
@@ -12,20 +12,21 @@
|
|||||||
|
|
||||||
`Alpine` 由非商业组织维护的,支持广泛场景的 `Linux` 发行版,它特别为资深/重度 `Linux` 用户而优化,关注安全,性能和资源效能。`Alpine` 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境。
|
`Alpine` 由非商业组织维护的,支持广泛场景的 `Linux` 发行版,它特别为资深/重度 `Linux` 用户而优化,关注安全,性能和资源效能。`Alpine` 镜像可以适用于更多常用场景,并且是一个优秀的可以适用于生产的基础系统/环境。
|
||||||
|
|
||||||
`Alpine` Docker 镜像也继承了 `Alpine Linux` 发行版的这些优势。相比于其他 `Docker` 镜像,它的容量非常小,仅仅只有 **5 MB** 左右 (对比 `Ubuntu` 系列镜像接近 `200 MB`),且拥有非常友好的包管理机制。官方镜像来自 `docker-alpine` 项目。
|
`Alpine` Docker 镜像也继承了 `Alpine Linux` 发行版的这些优势。相比于其他 `Docker` 镜像,它的容量非常小,压缩后仅约 **3.6 MB**(对比 `Ubuntu` 系列镜像约 `28 MB`),且拥有非常友好的包管理机制。官方镜像来自 `docker-alpine` 项目。
|
||||||
|
|
||||||
目前 Docker 官方已开始推荐使用 `Alpine` 替代之前的 `Ubuntu` 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。
|
目前 Docker 官方已开始推荐使用 `Alpine` 替代之前的 `Ubuntu` 做为基础镜像环境。这样会带来多个好处。包括镜像下载速度加快,镜像安全性提高,主机之间的切换更方便,占用更少磁盘空间等。
|
||||||
|
|
||||||
下表是官方镜像的大小比较:
|
下表是官方镜像的大小比较(压缩后大小,实际数据以 Docker Hub 为准):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
REPOSITORY TAG IMAGE ID VIRTUAL SIZE
|
REPOSITORY TAG COMPRESSED SIZE
|
||||||
alpine latest 4e38e38c8ce0 4.799 MB
|
alpine latest ~3.6 MB
|
||||||
debian latest 4d6ce913b130 84.98 MB
|
debian latest ~30 MB
|
||||||
ubuntu latest b39b81afc8ca 188.3 MB
|
ubuntu latest ~28 MB
|
||||||
centos latest 8efe422e6104 210 MB
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> **提示**:镜像大小会随版本更新而变化,精确值请查阅 [Docker Hub](https://hub.docker.com/) 各镜像的 Tags 页面。Alpine 的优势不仅在于体积小,还在于更少的预装包带来更小的攻击面。
|
||||||
|
|
||||||
### 20.2.2 获取并使用官方镜像
|
### 20.2.2 获取并使用官方镜像
|
||||||
|
|
||||||
由于镜像很小,下载时间往往很短,读者可以直接使用 `docker run` 指令直接运行一个 `Alpine` 容器,并指定运行的 Linux 指令,例如:
|
由于镜像很小,下载时间往往很短,读者可以直接使用 `docker run` 指令直接运行一个 `Alpine` 容器,并指定运行的 Linux 指令,例如:
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ CentOS (Community Enterprise Operating System,中文意思是:社区企业
|
|||||||
CentOS 官方镜像的使用非常简单。
|
CentOS 官方镜像的使用非常简单。
|
||||||
|
|
||||||
|
|
||||||
**注意:CentOS 8 已于 2021 年 12 月 31 日停止维护 (EOL)。对于新部署,推荐使用 CentOS Stream,或 Rocky Linux、AlmaLinux 等替代发行版。**
|
**注意:CentOS 8 已于 2021 年 12 月 31 日停止维护 (EOL),CentOS 7 已于 2024 年 6 月 30 日停止维护。对于新部署,推荐使用 Rocky Linux、AlmaLinux 或 CentOS Stream 等替代发行版。**
|
||||||
|
|
||||||
使用 `docker run` 直接运行 `CentOS 7` 镜像,并登录 `bash`。
|
使用 `docker run` 直接运行 `CentOS 7` 镜像,并登录 `bash`。
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user