关于 Deepin 中的 Docker

Deepin 官方的应用仓库已经集成了 docker,但不是类似于 docker-ce 这样的最新版本。由于 Deepin 是基于 debian 的 unstable 版本开发的,通过 $(lsb_release -cs) 获取到的版本信息为 n/a,导致添加 docker 仓库会报错;

在 Deepin 中安装 Docker 最新版的方法

  1. 如果以前安装过老版本,要确保先卸载以前版本

    1. sudo apt-get remove docker.io docker-engine docker
  2. 安装密钥管理与下载相关的工具

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。
国内源可选用清华大学开源软件镜像站或中科大开源镜像站,示例选用了中科大的。
为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

$ sudo apt-get update

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  1. 下载并安装密钥

    $ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
    // 官方源,能否成功可能需要看运气。
    // curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    
  2. 查看密钥是否安装成功 ```shell $ sudo apt-key fingerprint 0EBFCD88

pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) docker@docker.com
sub 4096R/F273FCD8 2017-02-22


5. 在 source.list 中添加 docker-ce 软件源
:::info

- **Note:** 官方在 buster 位置使用的是 $(lsb_release -cs),但之前已经解释过,在 deepin 里运行它得到的是 unstable,docker 官方不支持 unstable 版本!因此直接使用官方教程的命令会安装失败。

- **更改方法:**将上述命令中的版本名称 buster,替换成 deepin 基于的 debian 版本对应的代号。查看版本号的命令为:`cat /etc/debian_version`
- 对于 Deepin 20,使用的是 Debian 10 (Buster),可以去查一下:[debain 版本](https://www.debian.org/releases/index.zh-cn.html)
:::
```shell
$ echo \
  "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian buster stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 官方源
# $ 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
  1. 更新仓库并安装 ```shell $ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io


7. 启动 Docker
```shell
$ sudo systemctl enable docker
$ sudo systemctl start docker
  1. 让普通用户也可运行 docker
    $ sudo usermod -aG docker $USER
    # 然后注销用户重新登录即可
    

更换国内的 docker 加速器

可以通过修改 daemon 配置文件 /etc/docker/daemon.json 来使用加速器,并且可以配置多个加速器

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

禁止开机自启

默认情况下 docker 是开机自启的,如果我们想禁用开机自启,可以通过安装 chkconfig 命令来管理 Deepin 自启项:

# 安装chkconfig
sudo apt-get install chkconfig

# 移除自启
sudo chkconfig --del docker