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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了离线手动部署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仓库就部署好了。

以上是关于离线手动部署docker镜像仓库——harbor仓库的主要内容,如果未能解决你的问题,请参考以下文章

总结—Harbor仓库部署和使用问题集锦

centos 7离线安装harbor

docker镜像仓库

Harbor企业级镜像仓库安装部署

docker仓库使用+harbor私有仓库部署

利用阿里云ECS部署自己的私有harbor镜像仓库