V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mikulch
V2EX  ›  Docker

在阿里云上使用 Docker 并配置阿里云镜像加速器,结果遇到 daemon.json 导致 docker daemon 无法启动的问题

  •  1
     
  •   mikulch · 2016-12-08 17:06:01 +08:00 · 19515 次点击
    这是一个创建于 2938 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先下载好 docker 软件,然后启动 docker 。

    docker 版本为 1.10.3 CentOS 版本为 7.2

    由于国内的阿里云上 docker pull nginx 的速度很慢或者说完全没法动。 于是注册阿里云容器 Hub ,获得了自己的私有加速地址。

    接下来根据阿里的操作手册进行配置

    根据 https://yq.aliyun.com/articles/29941 尝试更改 /etc/docker/daemon.json ,配置加速器。

    结果只要一新建这个文件并且按照手册上进行配置的话, docker daemon 就无法正常启动。 报错信息为:

    ● docker.service - Docker Application Container Engine
       Loaded: loaded (/etc/systemd/system/docker.service; enabled; vendor preset: disabled)
       Active: failed (Result: exit-code) since 四 2016-12-08 16:55:46 CST; 2min 50s ago
         Docs: http://docs.docker.com
      Process: 17959 ExecStart=/usr/bin/docker-current daemon --exec-opt native.cgroupdriver=systemd $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY (code=exited, status=1/FAILURE)
     Main PID: 17959 (code=exited, status=1/FAILURE)
    
    12 月 08 16:55:46 iZwz9fa9w25qt5d30xjsvfZ systemd[1]: Starting Docker Application Container Engine...
    12 月 08 16:55:46 iZwz9fa9w25qt5d30xjsvfZ docker-current[17959]: unable to configure the Docker daemon with file /etc/docker/daemon.json...rrors
    12 月 08 16:55:46 iZwz9fa9w25qt5d30xjsvfZ systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
    12 月 08 16:55:46 iZwz9fa9w25qt5d30xjsvfZ systemd[1]: Failed to start Docker Application Container Engine.
    12 月 08 16:55:46 iZwz9fa9w25qt5d30xjsvfZ systemd[1]: Unit docker.service entered failed state.
    12 月 08 16:55:46 iZwz9fa9w25qt5d30xjsvfZ systemd[1]: docker.service failed.
    

    我只好尝试使用

    sudo cp -n /lib/systemd/system/docker.service /etc/systemd/system/docker.service
    sudo sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=<your accelerate address>|g" /etc/systemd/system/docker.service
    sudo systemctl daemon-reload
    sudo service docker restart
    

    这样的老办法配置来配置加速器,重启 docker 服务后使用 docker pull tomcat , 发现和以往一样,并没有加速成功

    请各位大侠帮帮忙,谢谢!

    8 条回复    2016-12-08 23:41:25 +08:00
    hcymk2
        1
    hcymk2  
       2016-12-08 17:15:12 +08:00
    <your accelerate address> 这里应该改了吧.
    mikulch
        2
    mikulch  
    OP
       2016-12-08 17:18:37 +08:00
    @hcymk2
    额 肯定是改了的哈 我改成自己的加速器地址了。
    {
    "registry-mirrors": ["https://k8*****.mirror.aliyuncs.com"]
    }
    shiny
        3
    shiny  
       2016-12-08 17:23:40 +08:00
    https://cr.console.aliyun.com/ Docker 镜像仓库,点「加速器」,按这里的说明来修改,从来没有出过问题
    mikulch
        4
    mikulch  
    OP
       2016-12-08 17:37:10 +08:00
    @shiny 我就是按照这里的配置来配的。
    配完后没什么问题 然后尝试 docker pull mysql
    依然卡的很。。。就跟加速器没生效一样。
    mikulch
        5
    mikulch  
    OP
       2016-12-08 18:41:58 +08:00
    还是没搞定。蛋疼中。
    mikulch
        6
    mikulch  
    OP
       2016-12-08 20:10:21 +08:00   ❤️ 1
    解决了。 redhat 这尼玛是 666.
    centos7 ,或者说 redhat 的 docker 的配置文件和其他发行版都不一样。
    按照阿里和 daoCloud 的手册你绝对无法顺利配置好镜像。

    你需要的是编辑
    vim /etc/sysconfig/docker
    然后
    OPTIONS='--selinux-enabled --log-driver=journald --registry-mirror=http://xxxx.m.daocloud.io'
    registry-mirror 输入你的镜像地址

    最后 service docker restart 重启 daemon
    然后 ps aux | grep docker 然后你就会发现带有镜像的启动参数了。


    不知道为啥阿里云 有道云 网易云, DaoCloud 这些国内的手册干嘛不写这个东西。
    按照国内这几个服务商的手册配完全没法配置成功。
    sxul07
        7
    sxul07  
       2016-12-08 20:21:20 +08:00
    @mikulch 难道别人用的都是 debian - =?
    mikulch
        8
    mikulch  
    OP
       2016-12-08 23:41:25 +08:00   ❤️ 1
    @sxul07 目前看来还真是这样。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5363 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:46 · PVG 14:46 · LAX 22:46 · JFK 01:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.