Ubuntu系统安装docker时可以通过 $(lsb_release -cs) 命令获取Ubuntu信息,但是Deepin系统是基于Debian系统制作的,通过此命令获取不到Deepin版本信息,显示为unstable,Docker官方源中并没有提供这种unstable版本的Docker,因此需要利用其它方法安装Docker。
sudo apt-get remove docker.io docker-engine
sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common
注意:主要包括curl命令、add-apt-reposiory工具(利用software-properties-common提供该工具)和密钥管理工具。
国外Docker网络速度较慢,可以利用国内源。可选的国内源包括中国科技大学开源镜像站和清华大学开源软件镜像站。
添加软件源CPG密钥:
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
如果安装成功,显示如下信息:
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ 未知 ] Docker Release (CE deb)
sub rsa4096 2017-02-22 [S]
修改可以利用命令或修改相应的文件即可,修改的文件位于:/etc/apt/source.list,命令为:
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/debian jessie stable"
其中:jessie为Debian版本号,这个和Ubuntu系统利用 $(lsb_release -cs)命令设置系统版本号不同,需要手动指定Debian版本号。
查看Deepin系统中Debian版本号可以用查看:
cat /etc/debian_version
根据查看的版本号替换对应的版本名称即可:
Debian 9("stretch") — 当前的稳定版
Debian 8("jessie") — 被淘汰的稳定版
Debian 7("wheezy") — 被淘汰的稳定版
Debian 6.0("squeeze") — 被淘汰的稳定版
Debian GNU/Linux 5.0("lenny") — 被淘汰的稳定版
Debian GNU/Linux 4.0("etch") — 被淘汰的稳定版
Debian GNU/Linux 3.1("sarge") — 被淘汰的稳定版
Debian GNU/Linux 3.0("woody") — 被淘汰的稳定版
Debian GNU/Linux 2.2("potato") — 被淘汰的稳定版
Debian GNU/Linux 2.1("slink") — 被淘汰的稳定版
Debian GNU/Linux 2.0("hamm") — 被淘汰的稳定版
Deepin15.10对应的Debian版本号为9,版本代号为stretch,进行相应的替换即可。
sudo apt-get update
sudo apt-get install docker-ce
安装完成后,需要修改相应的文件:/lib/systemd/system/docker.service.
把如下位置内容:
ExecStart=/usr/bin/dockerd -H fd://
修改为:
ExecStart=/usr/bin/dockerd
启动docker:
systemctl start docker
docker version
sudo docker run hello-world
如果能正常下载且能正常使用,说明Docker正常安装。
默认情况下Docker是开机自启动的,若要取消开机自启动可通过安装chkconfig命令管理Deepin自启动项。
# 安装chkconfig
sudo apt-get install chkconfig
# 移除自启
sudo chkconfig --del docker
上述命令都是在root权限下进行的操作,如果用其它用户操作可能会出现错误。
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/version: dial unix /var/run/docker.sock: connect: permission denied
可以通过添加相应的用户到docker组中就可以。
查看docker用户组:
cat /etc/group
注意:用户信息位于:/etc/passwd,用户组信息位于:/etc/group。
如果没有docker用户组,通过如下命令创建:
sudo groupadd -g docker
将当前用户添加到docker组:
sudo usermod -a -G docker ${USER}
将当前用户从docker组中删除:
sudo gpasswd -a ${USER} docker
设置docker.sock(/var/run文件下)文件普通用户的可执行权限:
sudo chmod a+rw /var/run/docker.sock
[参考文献]:
1 http://wiki.deepin.org/wiki/Docker
2 https://www.jianshu.com/p/07e405c01880
3 https://blog.csdn.net/qq_36148847/article/details/79273591