Skip to content

centos 下安装使用 docker 的坑 Job for docker.service failed

  • 文章目录

    • centos下安装 docker
      • 卸载老版本docker
      • 安装 docker
        • 安装所需的包
        • 安装最新版本的Docker CE
        • 启动docker
    • 设置镜像加速器和registry仓储地址
  • centos下安装 docker

卸载老版本docker

较旧版本的Docker被称为docker或docker-engine.请卸载它们以及相关的依赖项

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

安装 docker

安装所需的包

yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper存储驱动程序

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

安装最新版本的Docker CE

sudo yum install docker-ce

启动docker

sudo systemctl start docker

设置镜像加速器和registry仓储地址

注意 这里有个坑
按照网上找到的资料做如下设置:
/etc/docker/daemon.json
在上面的配置文件中编辑如下内容,如果没有此文件,就新建一个同名配置文件

{
 "registry-mirrors": [
   "https://ooq07srv.mirror.aliyuncs.com",
   "https://registry.cn-hangzhou.aliyuncs.com",
   "http://hub-mirror.c.163.com",
   "https://docker.mirrors.ustc.edu.cn",
   "https://registry.docker-cn.com"
 ]
}

上面的配置中添加了国内常见的镜像源, 阿里云 ,163 , 中科大 等.
保存配置以后,重启docker

sudo service docker restart

重启后发现服务有异常,如下提示:

Job for docker.service failed because start of the service was attempted too often. 
See "systemctl status docker.service" and "journalctl -xe" for details.
To force a start use "systemctl reset-failed docker.service" followed by "systemctl start docker.service" again.

发现这个问题后折腾了半天,包括重新安装docker依然有问题,
最后发现是新建的配置文件有问题 daemon.json 应该是 daemon.conf
我们进入 /etc/docker/ 目录下修改配置文件名称

mv daemon.json daemon.conf

然后重新启动服务

sudo service docker restart

一切正常运行