Deepin下安装Docker

Deepin 官方的应用仓库已经集成了 docker,但不是类似于 docker-ce 这样的最新版本。由于 Deepin 是基于 debianunstable 版本开发的,通过 $(lsb_release -cs) 获取到的版本信息为 **unstable**,而 docker 官方源并没支持 debianunstable 版本,因此使用 docker 官方教程是安装不成功的。如果你需要安装 docker-ce,请遵循下面的步骤进行安装:

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

1
sudo apt-get remove docker.io docker-engine

安装密钥管理与下载相关的工具

1
2
 // 密钥管理(add-apt-repository ca-certificates 等)与下载(curl 等)相关的工具
sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common

下载并安装密钥

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

国内源可选用清华大学开源软件镜像站中科大开源镜像站,示例选用了中科大的。

为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。

1
2
3
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 -

查看密钥是否安装成功

1
sudo apt-key fingerprint 0EBFCD88

如果安装成功,会出现如下内容:

1
2
3
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

source.list 中添加 docker-ce 软件源(请先查看后面的 **Note**):

1
2
3
4
5
6
7
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch stable“
// 官方源
// sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian stretch stable"

// 15.10 会提示 aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Deepin/stable
// 这里我们通过编辑 sudo vim /etc/apt/sources.list 添加一行即可,原因未知
deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch stable

Note: deepin官方提供的流程,也许是官方没有说清楚,也许是本人小白看不明白,官方说的是将以下代码添加至source.list中,

1
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch stable"

实际执行中发现不是报sudo错就是add-apt-repository的错,结合source.list原有代码揣测我们其实只需要引号中的部分即可,即:

1
deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian stretch stable

更新仓库

1
sudo apt-get update

安装 docker-ce

由于网络不稳定,可能会下载失败。如果下载失败了,可以多试几次或者找个合适的时间继续。

1
sudo apt-get install docker-ce

启动 docker

1
systemctl start docker

查看安装的版本信息

1
docker version

验证 docker 是否被正确安装并且能够正常使用

1
sudo docker run hello-world

如果能够正常下载,并能够正常执行,则说明 docker 正常安装。

让普通用户也能运行 docker

默认情况下,普通用户运行 docker 会有权限问题,每次运行都得加 sudo,很麻烦。把你的账号加到 docker 用户组后就不用加 sudo 了:

1
sudo usermod -aG docker $USER

然后注销用户重新登录即可。

内容参考:

https://wiki.deepin.org/wiki/Docker

https://wiki.deepin.org/index.php?title=Docker&oldid=1131