一、在 Ubuntu 20.04 上安装 Docker

在 Ubuntu 上安装 Docker 非常直接。我们将会启用 Docker 软件源,导入 GPG key,并且安装软件包。
首先,更新软件包索引,并且安装必要的依赖软件,来添加一个新的 HTTPS 软件源:

  1. sudo apt update --fix-missing
  2. sudo apt upgrade -y --fix-missing
  3. sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

使用下面的 curl 导入源仓库的 GPG key:

  1. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

将 Docker APT 软件源添加到你的系统:

  1. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

现在,Docker 软件源被启用了,你可以安装软件源中任何可用的 Docker 版本。

01.想要安装 Docker 最新版本,运行下面的命令。如果你想安装指定版本,跳过这个步骤,并且跳到下一步。

  1. sudo apt install docker-ce docker-ce-cli containerd.io

02.想要安装指定版本,首先列出 Docker 软件源中所有可用的版本:

  1. sudo apt update
  2. apt list -a docker-ce

可用的 Docker 版本将会在第二列显示。

  1. docker-ce/focal,now 5:20.10.12~3-0~ubuntu-focal amd64 [installed]
  2. docker-ce/focal 5:20.10.11~3-0~ubuntu-focal amd64
  3. docker-ce/focal 5:20.10.10~3-0~ubuntu-focal amd64
  4. docker-ce/focal 5:20.10.9~3-0~ubuntu-focal amd64
  5. docker-ce/focal 5:20.10.8~3-0~ubuntu-focal amd64
  6. docker-ce/focal 5:20.10.7~3-0~ubuntu-focal amd64
  7. docker-ce/focal 5:20.10.6~3-0~ubuntu-focal amd64
  8. docker-ce/focal 5:20.10.5~3-0~ubuntu-focal amd64
  9. docker-ce/focal 5:20.10.4~3-0~ubuntu-focal amd64
  10. docker-ce/focal 5:20.10.3~3-0~ubuntu-focal amd64
  11. docker-ce/focal 5:20.10.2~3-0~ubuntu-focal amd64
  12. docker-ce/focal 5:20.10.1~3-0~ubuntu-focal amd64
  13. docker-ce/focal 5:20.10.0~3-0~ubuntu-focal amd64
  14. docker-ce/focal 5:19.03.15~3-0~ubuntu-focal amd64
  15. docker-ce/focal 5:19.03.14~3-0~ubuntu-focal amd64
  16. docker-ce/focal 5:19.03.13~3-0~ubuntu-focal amd64
  17. docker-ce/focal 5:19.03.12~3-0~ubuntu-focal amd64
  18. docker-ce/focal 5:19.03.11~3-0~ubuntu-focal amd64
  19. docker-ce/focal 5:19.03.10~3-0~ubuntu-focal amd64
  20. docker-ce/focal 5:19.03.9~3-0~ubuntu-focal amd64

通过在软件包名后面添加版本=来安装指定版本:

sudo apt install docker-ce=<VERSION> docker-ce-cli=<VERSION> containerd.io

一旦安装完成,Docker 服务将会自动启动。你可以输入下面的命令,验证它:

sudo systemctl status docker

输出将会类似下面这样:

● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2022-03-09 10:26:14 UTC; 1min 1s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 2155 (dockerd)
      Tasks: 7
     Memory: 28.0M
     CGroup: /system.slice/docker.service
             └─2155 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

当一个新的 Docker 发布时,你可以使用标准的sudo apt update && sudo apt upgrade流程来升级 Docker 软件包。
如果你想阻止 Docker 自动更新,锁住它的版本:

sudo apt-mark hold docker-ce

设置docker 开机启动

systemctl enable docker.service

二、以非 Root 用户身份执行 Docker

默认情况下,只有 root 或者 有 sudo 权限的用户可以执行 Docker 命令。
想要以非 root 用户执行 Docker 命令,你需要将你的用户添加到 Docker 用户组,该用户组在 Docker CE 软件包安装过程中被创建。想要这么做,输入:

sudo usermod -aG docker $USER

$USER是一个环境变量,代表当前用户名。
登出,并且重新登录,以便用户组会员信息刷新。

三、卸载 Docker

在卸载 Docker 之前,你最好 移除所有的容器,镜像,卷和网络。
运行下面的命令停止所有正在运行的容器,并且移除所有的 docker 对象:

docker container stop $(docker container ls -aq)
docker system prune -a --volumes

现在你可以使用apt像卸载其他软件包一样来卸载 Docker:

sudo apt purge docker-ce
sudo apt autoremove

四、安装docker-compose

#下载运行文件
sudo curl -L "https://github.com/docker/compose/releases/download/2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#配置权限
sudo chmod +x /usr/local/bin/docker-compose