Ubuntu15.10上的Docker Registry问题解决

Docker在Ubuntu15.10上搭建registry时出现问题,总是报TLS错。

1、Ubuntu14.04及之前版本的解决方法

然后,网上搜索的解决办法都是:

修改/etc/default/docker文件,加入:

DOCKER_OPTS='--insecure-registry 192.168.14.1:5008'

sudo service docker restart,但是没有任何变化。

然儿,在Ubuntu14.04上可以,但在Ubuntu15.10不行。

怀疑版本问题,一通折腾.......

后来终于查到,github上关于该问题的讨论:https://github.com/docker/docker/issues/17205

2、Ubuntu14.10的Docker启动方式改变了

主要是Ubuntu14.10及之后,docker的启动器改为了systemd,配置文件放到了/lib/systemd/system/docker.service里面,所以再去改/etc/default/docker是没有用处的。

关于systemd的安装说明:https://docs.docker.com/engine/admin/systemd/

但是,按照上面的方法,把DOCKER_OPTS参数加进去,然后:

sudo systemctl daemon-reload
sudo systemctl restart docker

没有任何效果。

3、正确的解决办法(Ubuntu14.10之后版本)

然后将--insecure-registry 192.168.14.1:5008放到ExecStart之后。

这是修改后的/lib/systemd/system/docker.service文件:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target docker.socket
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker

#Modified,origin: ExecStart=/usr/bin/docker daemon -H fd://
ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry 192.168.14.1:5008
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

[Install]
WantedBy=multi-user.target

如下方式,再次重启服务,OK。

sudo systemctl daemon-reload
sudo systemctl restart docker


你可能感兴趣的:(ubuntu,docker,Registry,Systemd)