Docker搭建私有仓库的实现步骤
背景介绍
Docker registry是存储Docker image的仓库,运行push、pull、 search 时,是通过Docker daemon与docker registry通信。
Docker Hub(Docker埠,内有大量存储库或叫仓库)是Docker提供的一项服务,用于查找和与您的团队共享容器镜像。它是世界上最大的容器镜像存储库,拥有一系列内容源,包括容器社区开发人员、开放源代码项目和独立软件供应商(ISV)在容器中构建和分发代码。
使用私有仓库有许多优点:
1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
因为dockerHub公共仓库是外网的,所以访问就特别慢,所以一般公司都会搭建私人的镜像仓库来保存镜像。一台服务上用docker开启一个私有仓库的镜像,后续其他的docket服务器都将镜像保存在这个私有的仓库
1 设置私有镜像仓库
# 下载镜像 docker pull registry # 启动镜像 docker run -itd -v /home/wuzhibin/docker/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest -itd:在容器中打开一个伪终端进行交互操作,并在后台运行 -v:把宿主机的/home/wuzhibin/docker/registry目录绑定到容器/var/lib/registry来实现数据的持久化; -p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了 --restart=always: 这是重启的策略,在容器退出时总是重启容器 --name registry: 创建容器命名为registry
拉起官方镜像,在一台搭建镜像仓库的容器,并将容器的数据盘映射本地数据持久化,最终的目的是将设置为私有的镜像仓库保存镜像。
2 添加镜像仓库
# 在其他的服务上设置的镜像仓库地址为私仓地址
vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.1.200:5000"],
"registry-mirrors": ["https://zh7ton3p.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
# insecure-registries 为上一步开启的私有仓库地址
# registry-mirrors 为阿里云镜像加速地址
# 修改docker配置之后一定要重新启动docker
# 推送镜像到私仓
# 拉取nginx 测试镜像
docker pull nginx
# 打上私仓标签,如果想推送到私仓必须打上私仓的标签,应该为默认是推送到公共仓库的。
docker tag mginx:latest 192.168.1.200:500/nginx:v1
# 查看镜像名
docker images
# 推送私仓,192.168.1.200:5000/nginx:v1为上一步打上镜像名的镜像
docker push 192.168.1.200:5000/nginx:v1
# 查看私仓镜像仓库
curl http://192.168.1.200:5000/v2/_catalog
# 结果为{"repositories":["nginx"]}表面
# 查看私仓的镜像版本
curl http://192.168.118.16:5000/v2/ubuntu/tags/list
在其他的服务上设置的镜像仓库地址为私仓地址就可以通过私仓拉起分发布镜像了, 拉取私仓的镜像不仅仅要设置镜像仓库的地址,另外镜像上也要打上私仓的标签,不能默认会从公共仓库拉起和发布
3 拉私仓的镜像
# 拉取私仓的镜像, 其他的服务器也需要和上一步一样添加docker配置中添加私仓地址 # 不加私仓地址会默认从公共仓去拉起, docker pull 192.168.1.200:5000/nginx:v1 # 查看拉起的镜像 docker images


栏 目:其它服务器
下一篇:docker离线安装社区版(docker-18.06.3-ce)
本文标题:Docker搭建私有仓库的实现步骤
本文地址:https://zz.feitang.co/server/28478.html
您可能感兴趣的文章
- 02-02hadoop动态增加和删除节点方法介绍
- 02-02干货 | Linux新手入门好书推荐
- 02-02linux系统下MongoDB单节点安装教程
- 02-02Linux下nginx生成日志自动切割的实现方法
- 02-02Centos 6中编译配置httpd2.4的多种方法详解
- 02-02CentOS7 下安装telnet服务的实现方法
- 02-02分布式Hibernate search详解
- 02-02Hadoop对文本文件的快速全局排序实现方法及分析
- 02-02CentOS6.3添加nginx系统服务的实例详解
- 02-02Hadoop编程基于MR程序实现倒排索引示例


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07tomcat启动报错jar not loaded的问题
- 12-10docker start启动容器后仍然exit状态的解决
- 12-23linux中ftp无法访问怎么办
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-13k8s编排之Deployment知识点详解
- 12-10Linux下如何安装Logstash
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-11docker存储目录迁移示例教程
- 01-07windows server 2008安装配置DNS服务器




