Docker--------registry私有仓库搭建 [ Http ]

简介:

1. 背景

    docker中要使用镜像,一般会从本地、docker Hup公共仓库和其它第三方公共仓库中下载镜像,一般出于安全和外网(墙)资源下载速率的原因考虑企业级上不会轻易使用。那么有没有一种办法可以存储自己的镜像的仓库呢? ----> 企业级环境中搭建自己的私有仓库。


2. 私有仓库有优势:

    一、节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;

    二、提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。


3. 环境:

1
2
3
4
[root@registry ~] # cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@registry ~] # uname -r
3.10.0-327.36.3.el7.x86_64


4. 服务器Ip地址

    192.168.60.150


5. 安装:

 * 安装docker

1
[root@registry ~] # yum install docker


 * 启动docker服务

1
[root@registry ~] # systemctl start docker


 * 设置docker服务开机启动

1
[root@registry ~] # systemctl enable docker


 * 拉取 registry镜像,例如在daocloud.io/registry这个私有镜像仓库

1
[root@registry ~] # docker pull daocloud.io/registry


 * 创建本地镜像存储目录

1
[root@registry ~] # mkdir /data/local_docker_registry -p


 * 运行容器,设置容器名称为local_docker_registry, 挂在镜像内docker镜像仓库/var/lib/registry 至本地/data/local_docker_registry目录,并曝光5000端口, --restart=always让其跟随docker启动时启动

1
[root@registry ~] # docker run --name local_docker_registry --restart=always -d -v /data/local_docker_registry:/var/lib/registry -p 5000:5000 daocloud.io/registry


 * 测试 [ 有返回就表示成功 ]

1
2
[root@registry ~] # curl 192.168.60.150:5000/v2
<a href= "/v2/" >Moved Permanently< /a >.


6. 上传镜像至私有仓库测试

 * 编写dockerfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Nginx 
# Version 1.0.1
# Author lisea
# Url https://lisea.cn
# Base imgae
FROM centos
 
# Maintainer
MAINTAINER lisea lisea@126.com
 
# Commands
RUN rpm -ivh http: //mirrors .aliyun.com /epel/epel-release-latest-7 .noarch.rpm
RUN yum  install  nginx -y
RUN  echo  "daemon off;"  >>  /etc/nginx/nginx .conf
RUN  echo  "this is test nginx image"  /usr/share/nginx/html/index .html
EXPOSE 80
CMD [ "nginx" ]


 * 通过Dockerfile构建一个新镜像, 直接指明registry和标签

1
[root@registry nginx] # docker build -t 192.168.60.150:5000/nginx:1.0.1 .


 * push 上传镜像到私有仓库

1
[root@registry nginx] # docker push 192.168.60.150:5000/nginx:1.0.1


 * 查看镜像是否上传成功

1
2
[root@registry nginx] # curl 192.168.60.150:5000/v2/_catalog
{ "repositories" :[ "nginx" ]}

 

 * 其它服务器使用此镜像

1
[root@registry nginx] # docker pull 192.168.60.150:5000/nginx:1.0.1


7. 相关问题

  * 可能会出现无法push镜像到私有仓库的问题。这是因为我们启动的registry服务不是安全可信赖的。     解决:

   1. 需要修改docker的配置文件 /etc/sysconfig/docker-network,在添加下面的内容,

1
     DOCKER_NETWORK_OPTIONS= "--insecure-registry 192.168.60.150:5000"

      2. 重启docker

1
[root@registry nginx] # systemctl restart docker



8. 总结



以需求驱动技术,技术本身没有优略之分,只有业务之分。



      本文转自asd1123509133 51CTO博客,原文链接:http://blog.51cto.com/lisea/1934617,如需转载请自行联系原作者




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