1. 程式人生 > >紀念一個Docker向私庫提交image的坑

紀念一個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