为了安装 Docker Compose,重新梳理一下整个安装流程。 :::info 注意:
- 通过 pip 方式安装 Python version of Compose,只能安装 Compose v1;
如果想安装 Docker Compose 新的稳定版本(如 v2.5.0),可以按照本文的步骤进行安装; :::
1. Install Docker Engine on Ubuntu
1.1 OS requirements
需要一个64位的 Ubuntu 系统
- Ubuntu Jammy 22.04 (LTS)
- Ubuntu Impish 21.10
- Ubuntu Focal 20.04 (LTS)
- Ubuntu Bionic 18.04 (LTS)
1.2 Uninstall old versions
sudo apt-get remove docker docker-engine docker.io containerd runc
1.3 Install using the repository
官方提供了多种方式安装 Docker,这里选择 set up Docker’s repositories 方式安装,因为后续 Compose 依赖这种安装方,而且这也是官方推荐的方式,它简化了安装和升级的步骤。(1) Set up the repository
更新 apt package,并安装一些必要工具
sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release添加 Docker GPG key ```shell curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg —dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 配置稳定版的 repository
```shell
echo \
"deb [arch=$(dpkg --print-architecture) 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
:::warning
注意:
以上官方提供的步骤中添加的源地址,国内可能无法 update package,解决办法:
- 确认系统的版本,如:Debian系统下:
cat /etc/issue,cat /etc/debian_version - 去 choose your Linux distribution 页面确认版本的名称,例如,debian 10 对应名称 Debian buster 10
手动添加源地址的国内镜像:
更新 apt package,安装 Docker Engine,containered,Compose
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin:::info 注意:
安装完成后,docker 相关的文件都在 /var/lib/docker,如 images,containers,volumes,networks
- Docker Engine 默认安装的 storage driver 是 overlay2
使用 Docker 官方仓库,拉取镜像的速度可能会比较慢,可以更换国内的镜像:
卸载 Docker Engine,CLI,Containered,Compose packages
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin删除 Image,containers,volumes,configuration 文件,这些不会因为卸载而自动删除,需要手动清除
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd2. Manage Docker as a non-root user
由于 Docker daemon 守护进程是绑定到 Unix socket 进行通信,而 Unix socket 需要 root 权限,所以 Docker daemon 守护进程始终以 root 身份运行,其他用户需要通过 sudo 访问它。
如果不想每次运行 docker 命令都要加上 sudo,需要做一下操作:
Create docker group
sudo groupadd docker将当前用户添加到 docker group
sudo usermod -aG docker $USER激活对用户组的修改
newgrp docker验证可以不用加上 sudo 就可以运行 docker 命令
docker info3. Configure Docker to start on boot
:::info 注意:
Debian 和 Ubuntu 系统下,Docker 服务是默认开机自启动的;
其他系统需要做一下操作,才能实现开机自启动; :::
开启开机自启动:
sudo systemctl enable docker.service sudo systemctl enable containerd.service关闭开机自启动:
sudo systemctl disable docker.service sudo systemctl disable containerd.service4. Install Compose on Ubuntu
官方推荐 set up Docker’s repositories 方式安装 Compose。 :::info 注意:
如果 Docker 是按照本文步骤安装的,那么 Compose 已经和 Docker Engine 一起同时安装了。
- 如果 Docker 是按照其他方式安装的,可以按照下面的步骤单独安装 Compose。
:::
4.1 Install using the repository
(1) Set up the repository
按照 Docker 安装《Set up the repository》中一样的步骤配置 repository。(2) Install Compose
校验 Compose 安装成功:sudo apt-get update sudo apt-get install docker-compose-plugindocker compose version4.2 Uninstall Docker Compose
rm $DOCKER_CONFIG/cli-plugins/docker-compose
