纪念一个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_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