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

2016-12-08 17:06:01 +08:00
 mikulch

首先下载好 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 , 发现和以往一样,并没有加速成功

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

19404 次点击
所在节点    Docker
8 条回复
hcymk2
2016-12-08 17:15:12 +08:00
<your accelerate address> 这里应该改了吧.
mikulch
2016-12-08 17:18:37 +08:00
@hcymk2
额 肯定是改了的哈 我改成自己的加速器地址了。
{
"registry-mirrors": ["https://k8*****.mirror.aliyuncs.com"]
}
shiny
2016-12-08 17:23:40 +08:00
https://cr.console.aliyun.com/ Docker 镜像仓库,点「加速器」,按这里的说明来修改,从来没有出过问题
mikulch
2016-12-08 17:37:10 +08:00
@shiny 我就是按照这里的配置来配的。
配完后没什么问题 然后尝试 docker pull mysql
依然卡的很。。。就跟加速器没生效一样。
mikulch
2016-12-08 18:41:58 +08:00
还是没搞定。蛋疼中。
mikulch
2016-12-08 20:10:21 +08:00
解决了。 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
2016-12-08 20:21:20 +08:00
@mikulch 难道别人用的都是 debian - =?
mikulch
2016-12-08 23:41:25 +08:00
@sxul07 目前看来还真是这样。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326229

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX