docker私有仓库搭建

简介: 原文地址:http://kekefund.com/2017/06/07/doker-registry/ (本人博客)Docker提供了开放的中央仓库dockerhub,同时也允许我们使用registry搭建本地私有仓库。

原文地址:http://kekefund.com/2017/06/07/doker-registry/ (本人博客)

Docker提供了开放的中央仓库dockerhub,同时也允许我们使用registry搭建本地私有仓库。搭建私有仓库有如下的优点:

  1. 节省网络带宽,提升Docker部署速度,不用每个镜像从DockerHub上去下载,只需从私有仓库下载就可;
  2. 私有镜像,包含公司敏感信息,不方便公开对外,只在公司内部使用。

1,搭建私有仓库

1.1 下载镜像registry

$ docker pull registry

1.2 启动容器

$ docker run -d -p 5000:5000 --restart=always --name=registry-srv -v /mydata/dockerRegistry:/var/lib/registry registry

解释一下:

-d:后台运行
-p:将容器的5000端口映射到宿主机的5000端口
--restart:docker服务重启后总是重启此容器
--name:容器的名称
-v:将容器内的/var/lib/registry映射到宿主机的/mydata/dockerRegistry目录

2,搭建WEB服务

私有仓库搭建好了,怎么查看仓库里的镜像,搭建一个web服务,查看修改image比较方便。

2.1 下载镜像

$ docker pull hyper/docker-registry-web

2.2 启动容器

docker run -it -p 8080:8080 --restart=always --name registry-web --link registry-srv -e REGISTRY_URL=http://registry-srv:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web

解释一下:

-it: 以交互模式运行
--link:链接其它容器(registry-srv),在此容器中,使用registry-srv等同于registry-srv容器的局域网地址
-e:设置环境变量

3,上传本地镜像到私有仓库

例如,将本地的hcharts上传到仓库

$ docker images | grep hcharts
cbbing/hcharts                       latest              64164ca3dafe        3 weeks ago         550 MB

3.1 修改镜像tag

$ docker tag cbbing/hcharts 192.168.1.87:5000/cbbing/hcharts

3.2 上传tag镜像到仓库

docker push 192.168.1.87:5000/cbbing/hcharts

The push refers to a repository [192.168.1.87:5000/hcharts]
96b641920005: Pushing [===>                                               ] 8.852 MB/125.1 MB
ee2881ef910e: Pushing [==>                                                ] 11.69 MB/232.7 MB
36018b5e9787: Pushing [===>                                               ] 11.99 MB/192.5 MB

3.3 会出现的push失败

$ docker push 192.168.1.87:5000/hcharts
The push refers to a repository [192.168.1.87:5000/hcharts]
Get https://192.168.1.87:5000/v1/_ping: http: server gave HTTP response to HTTPS client

这是因为Docker在1.3.x之后默认docker registry使用的是https,为了解决这个问题,修改本地主机的docker启动配置文件,添加

--insecure-registry 192.168.1.87:5000

我的macbook在图形化终端上修改如下,填写后“Apply&Restart”。


3.4 下载镜像

在另外的客户机上pull镜像,跟拉取DockerHub上的镜像是一样的流程。

$ docker pull 192.168.1.87:5000/hcharts

4,wen端查看私有仓库镜像

访问:http://192.168.1.87:8080/,网页上呈现:


参考:

1, https://store.docker.com/images/registry
2, https://store.docker.com/community/images/hyper/docker-registry-web

目录
相关文章
|
3月前
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
150 15
Docker自建仓库之Harbor高可用部署实战篇
|
3月前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
93 1
|
2月前
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
3月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
701 12
|
3月前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
1239 8
|
3月前
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
834 5
|
4月前
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
339 3
|
5月前
|
存储 Docker 容器
入职必会-开发环境搭建50-Docker必会搭建Docker私有仓库
Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地也可以把我们自己的镜像推送上去。但是有时候我们的服务器无法访问互联网或者不希望将自己的镜像放到公网当中,那么我们就需要搭建自己的Docker私有仓库来存储和管理自己的Docker镜像。
入职必会-开发环境搭建50-Docker必会搭建Docker私有仓库
|
3月前
|
应用服务中间件 nginx 数据安全/隐私保护
使用Harbor搭建Docker私有仓库
Harbor是一款开源的企业级Docker仓库管理工具,分为私有与公有仓库两种类型,其中私有仓库被广泛应用于运维场景。Harbor提供图形化界面,便于直观操作,并且其核心组件均由容器构建而成,因此安装时需预先配置Docker及docker-compose。Harbor支持基于项目的用户与仓库管理,实现细粒度的权限控制;具备镜像复制、日志收集等功能,并可通过UI直接管理镜像,支持审计追踪。部署Harbor涉及配置文件调整、登录认证等步骤,并可通过客户端进行镜像的上传、拉取等操作。系统内置多种角色,包括受限访客、访客、开发者、维护人员及管理员,以满足不同场景下的使用需求。
140 0
|
5月前
|
Ubuntu Java Docker
docker 搭建私有仓库并发布私有镜像
docker 搭建私有仓库并发布私有镜像
424 1