Docker 私有仓库恢复实例详解
Docker私有仓库恢复
之前openstack平台由于停电等影响,导致之前制作的registry私有仓库的主机挂掉,还好数据挂载在nfs中,然后现在尝试重新启动恢复。
虚机安装nfs服务
apt-getinstall-ynfs-common
编辑/etc/fstab
写入远程挂载地址
10.50.8.12:/export/DockerRepo /var/lib/docker/registry nfs defaults 00
然后进行挂载:
mount-a-v
输出如下结果,表明mount成功
root@docker-registry:/home/ubuntu#mount-a-v mount.nfs:timeoutsetforThuMar2613:12:442015 mount.nfs:tryingtext-basedoptions'vers=4,addr=10.50.8.12,clientaddr=10.0.0.244' nothingwasmounted
可以用df来查看:
root@docker-registry:/home/ubuntu#df Filesystem1K-blocksUsedAvailableUse%Mountedon /dev/vda116510602817801561565843922%/ none4040%/sys/fs/cgroup udev82119961282119841%/dev tmpfs164339234816430441%/run none5120051200%/run/lock none8216952082169520%/run/shm none10240001024000%/run/user 10.50.8.12:/export/DockerRepo5159311366830084890173441%/var/lib/docker/registry
创建新的registry
命令如下
#dockerrun-d-p5000:5000-v/var/lib/docker/registry:/tmp/registryregistry
其中-p是与主机进行端口映射,-v表示将主机的volume挂载到容器中,即将我们的nfs挂载到容器中,作为Docker私有仓库的存储使用。
查看是否创建成功
用curl命令来search其中的仓库文件是否存在:
root@docker-registry:/var/lib/docker/registry/images#curlhttp://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#dockerpull127.0.0.1:5000/ubuntu:14.04 Pullingrepository127.0.0.1:5000/ubuntu 2103b00b3fdf:Downloadcomplete 511136ea3c5a:Downloadcomplete f0dde87450ec:Downloadcomplete 76b658ecb564:Downloadcomplete 4faa69f72743:Downloadcomplete Status:Downloadednewerimagefor127.0.0.1:5000/ubuntu:14.04
然后可以通过dockerimages来查看存在的images:
root@docker-registry:/var/lib/docker/registry/images#dockerimages REPOSITORYTAGIMAGEIDCREATEDVIRTUALSIZE registrylateste33e81d7024c5daysago413.7MB 127.0.0.1:5000/ubuntulatest2103b00b3fdf2weeksago192.7MB 127.0.0.1:5000/ubuntu14.042103b00b3fdf2weeksago192.7MB
从私有仓库只需要10多秒即可将ubuntu的200多m的镜像给pull下来。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!