Docker私有容器仓库搭建
随着Docker的普及和在不同企业的深入应用,对于如何更安全,更快速的管理及存储 丰富多样的Docker私有镜像成为使用者亟需解决的问题。目前对于这个问题,Docker官方提供了公共的Docker Hub为用户管理Docker 镜像。国内也有京东开源的Speedy, DaoCloud提供的Docker Hub等。除此以外的另一种常用方案是搭建自己的私有镜像仓库,可以在公有云上搭建或者虚机上搭建。本文将介绍在虚拟机上搭建自己的私有容器仓库。根据集群角色的分配(参看“集群部署”),私有容器仓库将建在k8s-slave2上。
仓库:172.16.70.182
生产服务器:172.16.70.180##推送镜像到仓库
第一步:拉取官方仓库镜像
docker pull registry
第二步:运行该私有仓库镜像
1.mkdir -p /opt/images
2./docker run -d -v /opt/images:/var/lib/registry -p 5000:5000 -- restart=always --name registry registry
注:Registry服务默认会将上传的镜像保存在容器器的/var/lib/registry,我们将主机的/opt/images目录挂载到该目录,即可实现将镜像保存到主机的/opt/docker-registry/目录了。
3.docker ps 查看运行的容器器镜像
第三步:推送容器镜像到私有库
1.生产服务器器172.16.70.180有一个nginx镜像
docker pull nginx
2.在172.16.70.80上修改镜像tag
docker tag docker.io/nginx 172.16.70.182:5000/nginx
3.推送镜像到私有仓库
docker push 172.16.70.182:5000/nginx
小贴士:
在执行推送命令时,可能出现以下错错误
The push refers to a repository
Get https://172.16.70.182:5000/v1/_ping: http: server gave HTTP response to HTTPS client
解决方法 :
修改 /etc/docker/daemon.json ##在集群的所有主机上修改
添加 {"insecure-registries":["172.16.70.182:5000"]}
重启 service docker restart 即可解决
检查
curl 172.16.70.182:5000/v2/_catalog ##查看镜像是否推送成
{"repositories":["nginx"]} ##镜像推送成功
安装成功
作者简介
http://www.yeslab.net/Uploads/201803/5a9fb13160de4.jpg
多年运维&运维自动化平台开发经验,曾在腾讯旗下微众银行 顺丰科技 等国内知名互联网公司任职,致力于提高企业自动化运维水平,改善运维工程师生活质量。
欢迎大家分享各领域技术
投稿:pangmm@yeslab.net
网站:www.yeslab.nethttp://www.yeslab.net/Uploads/201709/59afc787d9521.jpg
谢谢分享
页:
[1]