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路径。