纪念一个Docker向私库提交image的坑

Docker的安装很简单

wget -qO- https://get.docker.com/ | sh

不过在搭建私库时遇到些麻烦

因为我懒,没闲功夫搞CA,所以一直按照另一种思路——网上的攻略在deamon后添加 --insecure-registry=10.92.21.160:5000的思路走,于是修改/etc/default/docker中的参数,但无论怎么改都不生效,因为通过ps -ef | grep docker看到deamon进程后的参数是 H: /fd:。

在百思不得其解的情况下kill掉所有docker进程后用 docker deamon --insecure-registry=10.92.21.160:5000启动docker,结果惊喜地发现deamon进程后的参数是--insecure-registry=10.92.21.68:5000!但是。。。。但是push tag后的image时还是报GET:http://10.92.21.160:5000/vi/_ping  : EOF 。

然后,我继续在网上乱搜资料,结果发现一个文件/etc/init/docker.conf


纪念一个Docker向私库提交image的坑
 原文件中$DOCKER_OPTS是没有引号的,我见到前面的$DOCKER有引号,于是就加上引号看看,结果就得到自己想要的结果了,push~~~~pull都成功了。

 额,补充一句,改完记得重启docker。

感觉略坑爹,就搞 --insecure-registry=10.92.21.68:5000 一句配置就搞了我5个多小时。

--------------------------------------------------------上述是逗你玩------------------------------------------------------------

事后发现真正原因,导致/etc/default/docker无效,是因为/lib/systemd/system/docker.service或者/etc/systemd/system/docker.service里没有配置

EnvironmentFile=-/etc/default/docker

ExecStart=/usr/bin/docker -d $DOCKER_OPTS -H fd://  

-------------------------------------------------------为了从官方下载image方便---------------------------------------------

利用阿里云加速器

$mkdir -p /etc/systemd/system/docker.service.d/

$tee /etc/systemd/system/docker.service.d/mirror.conf << 'EOF'

[Service]

ExecStart=

ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=https://pee6w651.mirror.aliyuncs.com

EOF

$systemctl daemon-reload

$systemctl restart docker

相关推荐