离线手动部署docker镜像仓库——harbor仓库(二)

前言:

在《离线手动部署docker镜像仓库——harbor仓库(一)》中,记录了离线部署harbor仓库的简单过程,这里主要记录修改默认访问端口80端口为1180端口的部署方式和注意点。

实验环境:
harbor服务器系统:CentOS Linux release 7.4.1708 (Core)
harbor服务器IP:10.0.0.101
harbor版本:v1.5.0
docker版本:1.13.1
另外为了测试pull镜像,使用了另一台test102机器:10.0.0.102

部署过程:

1、下载安装包

下载地址:http://harbor.orientsoft.cn/

2、上传并解压安装包

将下载下来的安装包上传到服务器的/home目录,并解压。

[[email protected] home]# tar xf harbor-offline-installer-v1.5.0.tgz
[[email protected] home]# ll
总用量 843504
drwxr-xr-x. 4 root root       229 7月  30 15:48 harbor
-rw-r--r--. 1 root root 863747205 7月  30 15:39 harbor-offline-installer-v1.5.0.tgz
[[email protected] home]# 

3、配置harbor和docker修改配置(重点)

3.1 编辑/home/habor/harbor.cfg,主要修改两个地方:

hostname = 10.0.0.101   #这里直接用的IP
harbor_admin_password = 123456   #登录harbor仓库的密码,默认密码是Harbor12345

3.2 修改默认的80端口,需要修改两个文件:

1)修改/home/harbor/docker-compose.yml,将ports模块里面138行默认的80端口改成1180:

2)修改/home/harbor/common/templates/registry/config.yml,在auth模块,第23行加入1180端口:

3)修改/etc/sysconfig/docker,让docker指向10.0.0.101:1180(这里千万记得加上1180端口):

3.3 重启docker服务:

[[email protected] ~]# systemctl daemon-reload    #踩过的坑证明,这一步最好不要忘了,不然即使重启了docker,配置文件有可能也会不生效,导致各种奇怪的问题
[[email protected] ~]# systemctl restart docker

4、安装docker-compose

curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

5、 执行install.sh脚本,安装harbor仓库

[[email protected] harbor]# ./install.sh 

离线安装docker-compose和执行install.sh的注意事项都在《离线手动部署docker镜像仓库——harbor仓库(一)》里面说过,就不赘述了。

6、检查部署是否OK

6.1 检查容器启动状况,已经全部OK,1180端口也OK:

6.2 界面访问(加上1180端口哦):

7、测试使用

7.1 登录后创建一个test项目:

7.2 创建测试镜像并推送到仓库(这里也要带上端口号哟):

docker build -t 10.0.0.101:1180/test/bigdatacenter:latest /usr/local/src/bigdatacenter/
docker push 10.0.0.101:1180/test/bigdatacenter:latest

7.3 查看仓库,镜像已经存在

7.4 复制pull命令,在test102机器上测试pull命令:

=============下面的操作在test102机器上进行=============

1、修改docker配置文件,指向10.0.0.101:1180:

2、重启test102的docker服务:

[[email protected] ~]# systemctl daemon-reload  #这一步千万不能省
[[email protected] ~]# systemctl restart docker

3、在test102机器上测试pull镜像:

[[email protected] ~]# docker images    #test102机器还没有任何的镜像文件
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[[email protected] ~]#
[[email protected] ~]# docker pull 10.0.0.101:1180/test/bigdatacenter:latest  #测试pull镜像,切记带上1180端口号哟!!
Trying to pull repository 10.0.0.101:1180/test/bigdatacenter ...
latest: Pulling from 10.0.0.101:1180/test/bigdatacenter
53478ce18e19: Pull complete
d1c225ed7c34: Pull complete
c6724ba0c09a: Pull complete
de3b8705ee9f: Pull complete
c091a284f068: Pull complete
010503dbdd2d: Pull complete
Digest: sha256:ce823873379c519a583756783923dd160473a60fcf78dfd869e8b33f5198f237
Status: Downloaded newer image for 10.0.0.101:1180/test/bigdatacenter:latest
[[email protected] ~]#
[[email protected] ~]# docker images   #镜像文件拉取成功
REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE
10.0.0.101:1180/test/bigdatacenter   latest              6494ec224e74        About an hour ago   181 MB
[[email protected] ~]# 

注意:
注意:
注意:

这里有个问题,就是在harbor仓库复制pull命令的时候,是没有1180端口号的,命令是这样的:

docker pull 10.0.0.101/test/bigdatacenter:latest

但是因为我们把默认的80端口改成了1180端口,使用复制下来的docker pull 10.0.0.101/test/bigdatacenter:latest命令去pull镜像,就会失败的,必须带上端口号!!!
不带端口号,会报这个错:

[[email protected] ~]# docker pull 10.0.0.101/test/bigdatacenter:latest
Trying to pull repository 10.0.0.101/test/bigdatacenter ...
Pulling repository 10.0.0.101/test/bigdatacenter
Error while pulling image: Get http://10.0.0.101/v1/repositories/test/bigdatacenter/images: dial tcp 10.0.0.101:80: getsockopt: connection refused
[[email protected] ~]# 

至此,修改端口号的harbor仓库就部署好了。

原文地址:http://blog.51cto.com/10950710/2153086

时间: 2024-07-28 20:03:15

离线手动部署docker镜像仓库——harbor仓库(二)的相关文章

docker镜像与容器(二)

docker镜像与容器 docker改变了什么? 面向产品:产品交付 面向开发:简化环境配置 面向测试:多版本测试 面向运维:环境一致性 面向架构:自动化扩容(微服务) 获取镜像 可以使用 docker pull命令来从仓库获取所需要的镜像. [[email protected]~]# docker pull centos#获取一个centos的镜像 [[email protected]~]# docker images#查看docker的镜像 REPOSITORY          TAG  

Docker: vmware企业级docker镜像私服--Harbor的搭建

1.下载harbor,地址https://github.com/vmware/harbor2.进入harbor-master/Deploy目录,修改harbor.cfg文件,主要修改以下信息     2.1.hostname =10.10.10.10 (这个是harbor所在服务器的ip,不能写127.0.0.1)     2.2.修改邮箱相关信息 3.执行./prepare命令 4.1 Ubuntu:   (sudo vi /etc/default/docker) DOCKER_OPTS="-

docker镜像与容器管理(二)

镜像: 静态的只读文件,是一个只读的模板. 容器: 是从镜像创建的一个运行实例,容器是带有运行时需要的可写文件层. 镜像工作原理:     启动一个新的容器时,docker会加载镜像,在镜像之上添加一个读写层,     并将镜像中的目录复制一份到/var/lib/docker/containers/容器ID的目录下,     容器内修改已存在的文件,会将该文件从只读层复制到读写层,并覆盖只读层的文件,实现了文件系统隔离,     当删除容器后,读写层的数据将会删除,镜像不变. 镜像文件存储:  

巧用Docker镜像仓库Harbor部署私有Mirror服务

本文作者付广平,UnitedStack有云存储工程师,北京邮电大学硕士,从事大数据和云计算相关工作,2016年毕业后加入UnitedStack大数据&容器组,负责Docker.Magnum和Sahara相关工作,Openstack.Docker社区活跃者. 作者别出心裁地使用Harbor搭建了私有Mirror服务,加速外部Docker镜像的下载.编者对原文做了少量修改. Harbor是VMware公司最近开源的企业级Docker Registry项目(https://github.com/vmw

离线方式对企业级容器镜像仓库Harbor进行搭建

Harbor简述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求. 官方地址:https://vmware.github.io/harbor/cn/ Harbor三种角色: Guest:对指定项目只读权限 Developer:开发人员,读写项目的权限 Admin:项目管理,所有

Centos7安装Docker镜像仓库Harbor1.5.3

Harbor 详细介绍 1.容器应用的开发和运行离不开可靠的镜像管理.从安全和效率等方面考虑,部署在私有环境内的 Registry 是非常必要的. 2.Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC).LDAP.审计.管理界面.自我注册.HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能,欢迎使用和反馈意见. 3.作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性

Docker 私有仓库 Harbor registry 安全认证搭建 [Https]

Harbor源码地址:https://github.com/vmware/harborHarbort特性:基于角色控制用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限.基于镜像的复制策略镜像可以在多个 Harbor 实例之间进行复制.支持 LDAPHarbor 的用户授权可以使用已经存在 LDAP 用户.镜像删除 & 垃圾回收Image 可以被删除并且回收 Image 占用的空间.用户 UI用户可以轻松的浏览.搜索镜像仓库以及对项目进行管理.镜像删除 & 垃圾回收绝大部

私有容器镜像仓库harbor

私有镜像仓库Harbor 1.Harbor概述 Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等,足以满足基本企业需求. 官方地址:https://vmware.github.io/harbor/cn/ 各组件功能如下: harbor-adminserver:配置管理中心 harbor-dbMysql

linux运维、架构之路-企业级镜像仓库Harbor

一.Harbor介绍  Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC).LDAP.日志审核.管理界面.自我注册.镜像复制和中文支持等功能.      Harbor主要组件包括proxy,它是一个nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载流量,Ui提供了一个Web管理界面,当然还包括了一个前端页面和后端API,底层使用mysql数据库:Registry是镜像仓库,负责存储镜像文件,当镜像上传完毕后通过ui创建Re