Docker创建私有镜像仓库
Docker官方提供了一个工具docker-registry,可以借助这个工具构建私有镜像仓库:
1、拉取registry镜像
# docker pull registry
//可以使用 docker images查看镜像
2、运行registry
docker run -di --name=MyRegistry -p 5000:5000 -v /root/docker/registry:/tmp/registry registry 参数说明: -di:守护式运行; --name:启动容器的名字 -p:宿主机和容器的端口映射 -v:路径映射,本地路径<->容器内路径 registry:运行的镜像
3、搭建好私有仓库就可以上传、下载、搜索镜像了
//1、查看本机Ip:192.168.71.129 # ifconfig //2、查看本地已有的镜像 # docker images //3、标记一个镜像 # docker tag 90a93df7436d 192.168.71.129:5000/centos //4、可以查看标记的镜像 # docker images //5、将标记的镜像上传到私有仓库 # docker push 192.168.71.129:5000/centos //6、也可以在另外一台192.168.71.130的机器上拉取私有仓库的镜像 # docker pull 192.168.71.129:5000/centos //7、查看私有仓库中的所有的镜像 # curl http://192.168.71.129:5000/v2/_catalog
注意:第一次执行"docker push 192.168.71.129:5000/centos"可能报异常:The push refers to a repository [192.168.1.160:5000/centos]
Get https://192.168.1.160:5000/v1/_ping: http: server gave HTTP response to HTTPS client。
解决方案:
1、在/etc/docker目录下新建 daemon.json,并写入:
{ "insecure-registries":["192.168.71.129:5000"] }
2、重启docker
# systemctl restart docker
3、重新运行registry
docker run -di --name=MyRegistry -p 5000:5000 -v /root/docker/registry:/tmp/registry registry
4、再次执行"docker push 192.168.71.129:5000/centos"。