在centos7 上完成docker的基本安装,执行启动命令时,发现无法启动:

command : sudo systemctl start docker
err     : exit status 1
output  : Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.

通过systemctl status docker.service查看日志信息:

docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─10-machine.conf
   Active: failed (Result: start-limit-hit) since Mon 2017-07-03 17:48:03 UTC; 3min 38s ago
     Docs: https://docs.docker.com
  Process: 5803 ExecStart=/usr/bin/dockerd daemon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/dock
 Main PID: 5803 (code=exited, status=1/FAILURE)

发现此类问题是由于ExecStart的配置导致的。有解决方案说将ExecStart=/usr/bin/docker 改为ExecStart=/usr/bin/dockerd。但发现安装之后使用的就是dockerd。后追查发现,主要原因是/etc/systemd/system/docker.service.d目录下,没有对应的配置文件。

于是,开始生成对应的文件。可通过以下操作进行解决:

sudo systemctl edit docker.service

新增内容:

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:// -H tcp://127.0.0.1:2375

会生成这样一个文件:

/etc/systemd/system/docker.service.d/override.conf

然后依次执行:

sudo systemctl daemon-reload
sudo systemctl restart docker.service

即可正常启动。



centos7 docker启动异常分析及解决插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2019/07/13/centos7-docker%e5%90%af%e5%8a%a8%e5%bc%82%e5%b8%b8%e5%88%86%e6%9e%90%e5%8f%8a%e8%a7%a3%e5%86%b3/