为了提高镜像下载速度,验证自己代码,所以搭建私有仓库
环境准备
用VirtualBox安装了两台centos机器,ip和命名如下
名称 | IP |
---|---|
Docker | 192.168.0.190 |
Docker-registry | 192.168.0.91 |
docker部署registry容器
- 在centos上安装docker
https://docs.docker.com/install/linux/docker-ce/centos/
- 拉取registry镜像
docker pull registry
- 启动registry容器
- -p 指定端口容器端口和主机端口映射
- -v 挂载主机目录到容器内目录
- --restart=always docker重启时,容器能自动启动
- --name 指定容器名称
docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --restart=always --name registry registry
- 验证registry容器启动成功
http://192.168.0.91:5000/v2/_catalog {"repositories":[]}
上传镜像
- 修改http请求push镜像的问题
vim /etc/docker/daemon.json { "insecure-registries": [ "192.168.0.91:5000" ] } # 重启docker systemctl restart docker
- 拉取实验镜像
docker pull busybox
- 打标签
docker tag busybox 192.168.0.91:5000/busybox
- 上传镜像
docker push 192.168.0.91:5000/busybox
- 验证镜像已上传
http://192.168.0.91:5000/v2/_catalog {"repositories":["busybox"]}
下载镜像
- 在192.168.0.190上拉取镜像
docker pull 192.168.0.91:5000/busybox 提示错误 Using default tag: latest Error response from daemon: Get https://192.168.0.91:5000/v2/: http: server gave HTTP response to HTTPS client
- 添加安全白名单
vim /etc/docker/daemon.json { "insecure-registries": [ "192.168.0.91:5000" ] } # 重启docker systemctl restart docker
- 在192.168.0.190上重新拉取镜像
[root@localhost ~]# docker pull 192.168.0.91:5000/busybox Using default tag: latest latest: Pulling from busybox 7c9d20b9b6cd: Pull complete Digest: sha256:dd97a3fe6d721c5cf03abac0f50e2848dc583f7c4e41bf39102ceb42edfd1808 Status: Downloaded newer image for 192.168.0.91:5000/busybox:latest 192.168.0.91:5000/busybox:latest
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.0.91:5000/busybox latest 19485c79a9bb 5 weeks ago 1.22MB
到这里私有仓库就搭建完成了
网友评论