1.拉取最新registry镜像
未指定版本号,故拉取的是latest版本
docker pull registry
如图,使用 docker images 已经可以看到有此镜像了
2.启动该仓库并设置开机自启
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry --restart=always registry:latest
参数说明:
-v : 将容器中的/var/lib/registry目录中的内容映射到本机的/opt/registry目录下
-p:端口映射,将容器端口映射到本地端口,在本地可以使用ip:5000/v2的方式访问该仓库
--name:指定仓库名称 后跟镜像名
3.验证
在浏览器访问:
如图:
出现{}就说明搭建成功啦
4.测试
1.拉取nginx镜像
2.修改tag
docker tag nginx:latest 192.168.xxx.100:5000/nginx:latest
2.把该镜像推送到私有仓库
docker push 192.168.xxx.100:5000/nginx:latest
此时可能会报一个错误
The push refers to repository [192.168.xxx.100:5000/nginx]
Get https://192.168.xxx.100:5000/v2/: http: server gave HTTP response to HTTPS client
解决方式:
a. 创建/etc/docker/daemon.json 文件,如果已存在则忽略此步骤
b. 添加这句话 "insecure-registries":["192.168.xxx.100:5000"]
c. 保存并重启docker
systemctl restart docker.service
d. 测试
再次推送就可以正常推送啦
3.用需要该镜像的主机,从私有仓库拉取该nginx镜像
这里有一点需要注意的就是:需要拉镜像的主机也需要配置daemon.json文件哦~
docker pull 192.168.xx.100:5000/nginx:latest
4.验证
至此私有镜像仓库就搭建完成啦,快来试试吧!