Docker 私有仓库恢复实例详解

时间:2021-05-19

Docker 私有仓库恢复

之前openstack平台由于停电等影响,导致之前制作的registry 私有仓库的主机挂掉,还好数据挂载在nfs中,然后现在尝试重新启动恢复。

虚机安装nfs服务

apt-get install -y nfs-common

编辑 /etc/fstab

写入远程挂载地址

10.50.8.12:/export/DockerRepo /var/lib/docker/registry nfs defaults 0 0

然后进行挂载:

mount -a -v

输出如下结果,表明mount成功

root@docker-registry:/home/ubuntu# mount -a -vmount.nfs: timeout set for Thu Mar 26 13:12:44 2015mount.nfs: trying text-based options 'vers=4,addr=10.50.8.12,clientaddr=10.0.0.244'nothing was mounted

可以用df来查看:

root@docker-registry:/home/ubuntu# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/vda1 165106028 1780156 156584392 2% /none 4 0 4 0% /sys/fs/cgroupudev 8211996 12 8211984 1% /devtmpfs 1643392 348 1643044 1% /runnone 5120 0 5120 0% /run/locknone 8216952 0 8216952 0% /run/shmnone 102400 0 102400 0% /run/user10.50.8.12:/export/DockerRepo 515931136 683008 489017344 1% /var/lib/docker/registry

创建新的registry

命令如下

# docker run -d -p 5000:5000 -v /var/lib/docker/registry:/tmp/registry registry

其中 -p是与主机进行端口映射,-v表示将主机的volume挂载到容器中,即将我们的nfs挂载到容器中,作为Docker 私有仓库的存储使用。

查看是否创建成功

用curl命令来search其中的仓库文件是否存在:

root@docker-registry:/var/lib/docker/registry/images# curl http://127.0.0.1:5000/v1/search{"num_results": 8, "query": "", "results": [{"description": null, "name": "shipyard/rethinkdb"}, {"description": null, "name": "shipyard/shipyard"}, {"description": null, "name": "shipyard/shipyard-cli"}, {"description": null, "name": "library/mysql"}, {"description": null, "name": "library/ubuntu"}, {"description": null, "name": "library/registry"}, {"description": null, "name": "library/centos"}, {"description": null, "name": "tutum/influxdb"}]}

测试私有仓库

从私有仓库拉取ubuntu:14.04镜像。

root@docker-registry:/var/lib/docker/registry/images# docker pull 127.0.0.1:5000/ubuntu:14.04Pulling repository 127.0.0.1:5000/ubuntu2103b00b3fdf: Download complete 511136ea3c5a: Download complete f0dde87450ec: Download complete 76b658ecb564: Download complete 4faa69f72743: Download complete Status: Downloaded newer image for 127.0.0.1:5000/ubuntu:14.04

然后可以通过docker images来查看存在的images:

root@docker-registry:/var/lib/docker/registry/images# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry latest e33e81d7024c 5 days ago 413.7 MB127.0.0.1:5000/ubuntu latest 2103b00b3fdf 2 weeks ago 192.7 MB127.0.0.1:5000/ubuntu 14.04 2103b00b3fdf 2 weeks ago 192.7 MB

从私有仓库只需要10多秒即可将ubuntu的200多m的镜像给pull下来。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章