diff --git a/03_install/3.1_ubuntu.md b/03_install/3.1_ubuntu.md index b2c737d..4024ad4 100644 --- a/03_install/3.1_ubuntu.md +++ b/03_install/3.1_ubuntu.md @@ -80,7 +80,7 @@ $ echo \ ## "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ -## $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +## $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` diff --git a/03_install/3.2_debian.md b/03_install/3.2_debian.md index 6a84c65..2928948 100644 --- a/03_install/3.2_debian.md +++ b/03_install/3.2_debian.md @@ -59,7 +59,7 @@ $ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg -- 然后,我们需要向 `sources.list` 中添加 Docker 软件源: -> 在一些基于 Debian 的 Linux 发行版中 `$(lsb_release -cs)` 可能不会返回 Debian 的版本代号,例如 [Kail Linux](https://www.kali.org/docs/policy/kali-linux-relationship-with-debian/)、 [BunsenLabs Linux](https://www.bunsenlabs.org/)。在这些发行版中我们需要将下面命令中的 `$(lsb_release -cs)` 替换为 https://mirrors.aliyun.com/docker-ce/linux/debian/dists/ 中支持的 Debian 版本代号,例如 `buster`。 +> 在一些基于 Debian 的 Linux 发行版中 `$(lsb_release -cs)` 可能不会返回 Debian 的版本代号,例如 [Kali Linux](https://www.kali.org/docs/policy/kali-linux-relationship-with-debian/)、 [BunsenLabs Linux](https://www.bunsenlabs.org/)。在这些发行版中我们需要将下面命令中的 `$(lsb_release -cs)` 替换为 https://mirrors.aliyun.com/docker-ce/linux/debian/dists/ 中支持的 Debian 版本代号,例如 `buster`。 ```bash $ echo \ @@ -73,7 +73,7 @@ $ echo \ ## "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ -## $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null +## $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` diff --git a/03_install/3.5_raspberry-pi.md b/03_install/3.5_raspberry-pi.md index 3f62489..d032df4 100644 --- a/03_install/3.5_raspberry-pi.md +++ b/03_install/3.5_raspberry-pi.md @@ -31,9 +31,8 @@ $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ - gnupg2 \ - lsb-release \ - software-properties-common + gnupg \ + lsb-release ``` 鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。 @@ -41,12 +40,16 @@ $ sudo apt-get install \ 为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。 ```bash -$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/raspbian/gpg | sudo apt-key add - +$ sudo install -m 0755 -d /etc/apt/keyrings +$ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +$ sudo chmod a+r /etc/apt/keyrings/docker.gpg ## 官方源 -## $ curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add - +## $ sudo install -m 0755 -d /etc/apt/keyrings +## $ curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg +## $ sudo chmod a+r /etc/apt/keyrings/docker.gpg ``` @@ -54,21 +57,16 @@ $ curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/raspbian/gpg | sudo apt- 然后,我们需要向 `sources.list` 中添加 Docker 软件源: ```bash -$ sudo add-apt-repository \ - "deb [arch=armhf] https://mirrors.aliyun.com/docker-ce/linux/raspbian \ - $(lsb_release -cs) \ - stable" +$ echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/raspbian \ + $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ## 官方源 -## $ sudo add-apt-repository \ - -## "deb [arch=armhf] https://download.docker.com/linux/raspbian \ - -## $(lsb_release -cs) \ - -## stable" +## $ echo \ +## "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian \ +## $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` @@ -77,7 +75,7 @@ $ sudo add-apt-repository \ #### 报错解决办法 -在 `Raspberry Pi OS Bullseye/Bookworm` 中,添加 Docker 软件源的步骤可能会出现如下报错: +在 `Raspberry Pi OS Bullseye/Bookworm` 中,如果你使用 `add-apt-repository` 添加源,可能会出现如下报错(推荐改用上面的 `tee` 方式来写入 `/etc/apt/sources.list.d/docker.list`,可避免此问题): ```bash Traceback (most recent call last): @@ -95,12 +93,12 @@ aptsources.distro.NoDistroTemplateException: Error: could not find a distributio 通过以下命令手动添加镜像源到 `/etc/apt/sources.list` 文件中即可解决: ```bash -$ sudo echo "deb [arch=armhf] https://mirrors.aliyun.com/docker-ce/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list +$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list ## 官方源 -## $ sudo echo "deb [arch=armhf] https://download.docker.com/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list +## $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian $(lsb_release -cs) stable" | sudo tee -a /etc/apt/sources.list ``` diff --git a/10_compose/10.4_commands.md b/10_compose/10.4_commands.md index e940e89..c001c55 100644 --- a/10_compose/10.4_commands.md +++ b/10_compose/10.4_commands.md @@ -216,6 +216,12 @@ $ docker compose scale web=3 db=2 将启动 3 个容器运行 web 服务,2 个容器运行 db 服务。 +> **提示**:部分版本的 Compose 可能不再提供独立的 `scale` 子命令(或不推荐使用)。此时可使用 `docker compose up` 的 `--scale` 选项达到同样效果: +> +> ```bash +> $ docker compose up -d --scale web=3 --scale db=2 +> ``` + 一般的,当指定数目多于该服务当前实际运行容器,将新创建并启动容器;反之,将停止容器。 选项: diff --git a/12_orchestration/setup/kubeadm-docker.md b/12_orchestration/setup/kubeadm-docker.md index 3b3d631..0106011 100644 --- a/12_orchestration/setup/kubeadm-docker.md +++ b/12_orchestration/setup/kubeadm-docker.md @@ -2,6 +2,10 @@ `kubeadm` 提供了 `kubeadm init` 以及 `kubeadm join` 这两个命令作为快速创建 `kubernetes` 集群的最佳实践。 +> ⚠️ **重要说明**:自 Kubernetes 1.24 起,内置 `dockershim` 已被移除,Kubernetes 默认不再直接使用 Docker Engine 作为容器运行时(CRI)。因此,**更推荐参考**同目录下的《[使用 kubeadm 部署 kubernetes(CRI 使用 containerd)](kubeadm.md)》。 +> +> 本文档主要用于历史环境/学习目的:如果你确实需要在较新版本中继续使用 Docker Engine,通常需要额外部署 `cri-dockerd` 并在 `kubeadm init/join` 中指定 `--cri-socket`。 + ### 安装 Docker 参考 [安装 Docker](../../03_install/README.md) 一节安装 Docker。 @@ -15,15 +19,21 @@ 运行以下命令: ```bash -$ apt-get update && apt-get install -y apt-transport-https -$ curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - +$ K8S_MINOR="v1.35" -$ cat < /dev/null + +$ sudo apt-get update +$ sudo apt-get install -y kubelet kubeadm kubectl + +$ sudo apt-mark hold kubelet kubeadm kubectl ``` #### CentOS/Fedora @@ -31,14 +41,16 @@ $ apt-get install -y kubelet kubeadm kubectl 运行以下命令: ```bash +$ K8S_MINOR="v1.35" + $ cat < /dev/null + +$ sudo apt-get update +$ sudo apt-get install -y kubelet kubeadm kubectl cri-tools kubernetes-cni + +$ sudo apt-mark hold kubelet kubeadm kubectl ``` #### CentOS/Fedora @@ -235,21 +241,47 @@ $ apt-get install -y kubelet kubeadm kubectl 运行以下命令: ```bash +$ K8S_MINOR="v1.35" + $ cat <