场景:当你的镜像涉及到公司私密,不能到公网上时,有必要用Docker私有库
1. 下载私有库镜像Docker Registry
docker pull registry
2. 运行私有仓库,相当于本地有个私有Docker hub
#/opt/myregistry/ 宿主机的挂在目录 /tmp/registry 容器内目录
docker run -d -p 5000:5000 -v /opt/myregistry/:/tmp/registry --privileged=true registry
3. 查询私服库上存在的镜像
curl -XGET http://ip:5000/v2/_catalog
4.发送新镜像到私有库
#1. 将新镜像修改成符合私有库规范的tag
docker tag 镜像名:Tag Host:Port/Repository:Tag #例:docker tag 镜像名:Tag ip:5000/镜像名:Tag
#2. 修改私服库配置,使其支持http
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://aa25jngu.mirror.aliyuncs.com"], # 阿里云加速器
"insecure-registries": ["ip:5000"] #支持http方式推送镜像
}
上述理由:docker默认不允许http方式推送镜像,通过配置选项来取消这个限制。====>修改完后如果不生效,建议重启docker
#推送本地镜像到私服库(ip:5000/镜像名:Tag 是上面修改成规范的镜像名加tag)
docker push ip:5000/镜像名:Tag
#下载
dokcer pull ip:5000/镜像名:Tag