安装 Docker

  1. 安装必要依赖
sudo apt update
sudo apt install \
  ca-certificates \
  curl \
  gnupg \
  lsb-release
  1. 安装GPG证书
sudo mkdir -p /etc/apt/keyrings

# 阿里云镜像
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 腾讯云镜像
curl -fsSL https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. 写入软件源信息
# 阿里云镜像
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 腾讯云镜像
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.cloud.tencent.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. 安装 Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
  1. 安装 Docker Compose
sudo apt install docker-compose-plugin

Docker 非 root 用户运行

Docker 运行需要 root 权限,如果你不想使用 root 账户运行 Docker,可以把非 root 用户添加到 docker 用户组当中,即可使用非 root 用户运行 Docker。

  1. 创建 docker 用户组.
sudo groupadd docker
  1. 把非 root 用户添加到 docker 用户组.
sudo usermod -aG docker $USER
  1. 将用户添加到docker组后,注销并重新登录,使更改生效。或者,运行以下命令,对组进行更改:
newgrp docker
  1. 测试 Docker 是否安装正确
docker run hello-world

镜像加速

由于国内网络的原因,使用官方的镜像源下载 Docker 镜像的速度非常慢,使用加速器可以提升获取 Docker 官方镜像的速度。本文介绍使用阿里云和腾讯云提供的镜像源来加速拉取镜像的速度。

阿里云镜像配置

阿里云提供的镜像服务需要我们登录阿里云的账号,我们首先登录阿里云,而后到以下链接获取加速器地址

在该页面可以获取到你的加速器地址,然后可以通过修改 /etc/docker/daemon.json 配置文件来使用加速器,修改后的 daemon.json 文件内容如下

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

腾讯云镜像配置

  1. 执行以下命令,打开 /etc/docker/daemon.json 配置文件。
sudo vim /etc/docker/daemon.json
  1. 添加以下内容,并保存
{
   "registry-mirrors": [
       "https://mirror.ccs.tencentyun.com"
  ]
}
  1. 执行以下命令,重启 Docker 即可。
sudo systemctl restart docker

参考资料