apt-get install
安装docker,使得docker安装变得异常曲折
dpkg -i
手动安装,启动docker服务失败执行如下命令,查看Linux系统版本(Debian or Redhat)、64 bit or 32 bit、amd or arm架构
uname -a
# 或者使用
cat /proc/version
从输出信息可以看出,服务器是Debian系统、amd64(amd架构、64bit)
# uname -a的输出
Linux n37-081-113 4.19.117.bsk.12-amd64 #4.19.117.bsk.12 SMP Debian 4.19.117.bsk.12 Thu Mar 17 16:41:16 x86_64 GNU/Linux
不同的Debian版本使用的docker安装包有差异,因此需要了解Debian的具体版本 —— 这里是Debian 9,名字为 Stretch
# debian系统可以直接使用该命令
cat /etc/debian_version
# 或使用如下2种命令皆可
cat /etc/issue
cat /etc/issue
Debian系统版本与code name之间的关系可以查看Debian官网:DebianReleases
如何查看系统信息,可以参考:详解linux下查看系统版本号信息的方法(总结)
在root用户下,进行docker安装
依次安装上述三个安装包
dpkg -i xxx.deb
完成安装后,设置开机自启动、启动docker
systemctl enable docker && systemctl start docker
离线安装参考文档: 国产化项目Debian系Linux离线安装docker
如未有任何报错,可以通过systemctl status docker.service
查看是否为 active(running)
状态
接着,通过如下命令检查docker服务是否ok
docker info
docker run hello-world
启动docker时,出现如下报错信息:
A dependency job for docker.service failed. See 'journalctl -xe' for details.
通过如下命令,查看docker启动失败的详情:
journalctl -xeu docker.service
# 或通过如下命令,会发现docker处于inactive状态
systemctl status docker.service
错误信息大致如下:
systemd[1]: Job docker.service/start failed with result 'dependency'.
systemd[1]: Dependency failed for Docker Application Container Engine.
查阅资料后,博客:Job docker.service/start failed with result ‘dependency’,给笔者启示:错误原因可能是还没创建docker用户组
使用如下命令,创建docker用户组
groupadd docker
重启docker,仍然出现该错误,同时通过cat /etc/group
可以发现已经成功添加docker用户
StackOverflow上的一个问答成功帮助我解决问题:Docker service fails to start due to dependency
执行/usr/bin/dockerd -H unix://
后,出现下面的错误:
can't create unix socket /var/run/docker.sock: is a directory
确认/var/run/docker.sock
目录存在后,删除该目录(参考问答帖:Failed to load listeners: can’t create unix socket /var/run/docker.sock: is a directory )
rm -fr /var/run/docker.sock
再次执行/usr/bin/dockerd -H unix://
,通过systemctl status docker.service
查看docker状态,发现未active
ctrl + C取消执行后,就可以通过systemctl start docker
启动docker服务了