Docker如果需要從非SSL源管理鏡像,需要配置Docker配置文件的insecury-registry參數,一般在如下位置修改其配置文件:
* /etc/sysconfig/docker
* /etc/init.d/docker
默認情況下,INSECURE_REGISTRY參數被注釋不產生作用,可以根據實際需要配置該參數為目標非SSL加密的Docker Registry,例如:
INSECURE_REGISTRY='--insecure-registry 10.XX.XX.XX:5000'
如果需要同時對多個非SSL源進行顯式標注,則加入多個insecure-registry標簽即可,例如:
INSECURE_REGISTRY='--insecure-registry 10.XX.XX.XX:5000 --insecure-registry 10.XX.XX.XX:5000'
推送自定義鏡像至目標Registry之前,需要對鏡像進行TAG操作,如TAG中不包含registry的路徑(端口)信息,則默認推送鏡像至官方源(docker.io),如果需要推送到自定義的鏡像源,則需要對目標進行TAG時帶上自定義鏡像repository的地址,如:
sudo docker tag docker.io/kibana:4.5 10.XX.XX.XXX:5000/example/sub/kibana:4.5
這條指令,即可將docker官方鏡像源下載的docker.io/kibana:4.5鏡像,標記為帶自定義 repository路徑的新的鏡像(10.XX.XX.XXX:5000/example/sub/kibana:4.5)
標記完后,可以用sodu docker images檢查鏡像時候被正確指定repository信息及tag信息,確認無誤后,即可推送至該自定義repository:
sudo docker push 10.XX.XX.XXX:5000/example/sub/kibana:4.5
正常情況下,該鏡像已被推送至10.XX.XX.XXX:5000/example/sub路徑。