Docker私有仓库管理之Harbor搭建

女爷i 2022-06-17 07:56 305阅读 0赞

Harbor简介:http://dockone.io/article/1179
Harbor官网安装说明:https://github.com/vmware/harbor/blob/master/docs/installation_guide.md

环境说明:

  • Centos 7.2
  • 主机IP: 192.168.20.17

一、安装相关依赖

1、安装docker

yum -y install docker

启动docker

systemctl restart docker

查看docker版本

  1. $ docker version
  2. Client:
  3. Version: 1.12.6
  4. API version: 1.24
  5. Package version: docker-common-1.12.6-11.el7.centos.x86_64
  6. Go version: go1.7.4
  7. Git commit: 96d83a5/1.12.6
  8. Built: Tue Mar 7 09:23:34 2017
  9. OS/Arch: linux/amd64
  10. Cannot connect to the Docker daemon. Is the docker daemon running on this host?

2、安装docker-compose

pip安装

pip install docker-compose

源码安装

wget https://github.com/docker/compose/archive/master.zip
unzip master.zip
cd compose-master
python setup.py install

查看docker-compose版本

  1. $ docker-compose version
  2. docker-compose version 1.13.0dev, build unknown
  3. docker-py version: 2.2.1
  4. CPython version: 2.7.5
  5. OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013

3、安装golang

到官网下载最新的相应系统安装包:https://golang.org/dl/

wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
tar -C /usr/local/ -zxf go1.8.1.linux-amd64.tar.gz

把以下内容添加到环境变量 vi ~/.bash_profile

  1. export PATH=$PATH:/usr/local/go/bin

使其生效

source ~/.bash_profile

查看go版本

  1. $ go version
  2. go version go1.8.1 linux/amd64

二、部署harbor

harbor官方网址: https://github.com/vmware/harbor

1、下载harbor源码

wget https://github.com/vmware/harbor/archive/master.zip

2、解压

unzip master.zip
cd /harbor-master/make

查看依赖是否安装

  1. $ ./checkenv.sh
  2. Note: golang version: 1.8.1
  3. Note: docker version: 1.12.6
  4. Note: docker-compose version: 1.12.0

3、修改配置文件

vi harbor.cfg

配置文件参数说明(转自:http://www.cnblogs.com/jicki/p/5737369.html)

  1. ## Configuration file of Harbor
  2. # hostname 设置访问地址,支持IP,域名,主机名,禁止设置127.0.0.1
  3. hostname = reg.mydomain.com
  4. # 访问协议,可设置 http,https
  5. ui_url_protocol = http
  6. # 邮件通知, 配置邮件通知。
  7. email_server = smtp.mydomain.com
  8. email_server_port = 25
  9. email_username = sample_admin@mydomain.com
  10. email_password = abc
  11. email_from = admin <sample_admin@mydomain.com>
  12. email_ssl = false
  13. # harbor WEB UI登陆使用的密码
  14. harbor_admin_password = Harbor12345
  15. # 认证方式,这里支持多种认证方式,默认是 db_auth ,既mysql数据库存储认证。
  16. # 这里还支持 ldap 以及 本地文件存储方式。
  17. auth_mode = db_auth
  18. # ldap 服务器访问地址。
  19. ldap_url = ldaps://ldap.mydomain.com
  20. ldap_basedn = uid=%s,ou=people,dc=mydomain,dc=com
  21. # mysql root 账户的 密码
  22. db_password = root123
  23. self_registration = on
  24. use_compressed_js = on
  25. max_job_workers = 3
  26. verify_remote_cert = on
  27. customize_crt = on
  28. # 一些显示的设置.
  29. crt_country = CN
  30. crt_state = State
  31. crt_location = CN
  32. crt_organization = organization
  33. crt_organizationalunit = organizational unit
  34. crt_commonname = example.com
  35. crt_email = example@example.com

此处我们只修改hostname=192.168.20.17(私有仓库主机ip)

4、更新生成相关配置文件

./prepare

5、 更新docker-compose.yml

cp docker-compose.tpl docker-compose.yml

在docker hub查找docker-compose.yml配置文件中所有镜像的官方最新版本号,并将其替换掉__version__

yml配置文件中我们只改相应镜像对应版本号

  1. image: vmware/harbor-log:v1.1.0
  2. image: vmware/registry:photon-2.6.0
  3. image: vmware/harbor-db:v1.1.0
  4. image: vmware/harbor-adminserver:v1.1.0
  5. image: vmware/harbor-ui:v1.1.0
  6. image: vmware/harbor-jobservice:v1.1.0
  7. image: vmware/nginx:1.11.5-patched

注:此处除了nginx和registry镜像的版本不同外,其他镜像的版本应该一致(用同一版本)

6、运行

必须在docker-compose.yml目录下运行

docker-compose up -d

此时我们可以在浏览器中输入:http://192.168.20.17:80进入harbor web管理后台(80是docker-compose.yml 配置文件中nginx容器的默认端口),默认的帐号密码是admin, Harbor12345(如果你没有修改harbor.cfg中的harbor_admin_password

查看compose状态

docker-compose ps

没意外的话,应该全部状态都是UP

需要修改web访问端口的话,先在harbor.cfghostname=192.168.20.17:5000,再把docker-compose.yml 中的80端口改为5000,如下(只贴修改部分)

  1. proxy:
  2. image: vmware/nginx:1.11.5-patched
  3. container_name: nginx
  4. restart: always
  5. volumes:
  6. - ./common/config/nginx:/etc/nginx:z
  7. networks:
  8. - harbor
  9. ports:
  10. - 5000:80
  11. - 443:443
  12. - 4443:4443

更多关于docker-compose命令相关参数选项可查看官网

三、上传和下载镜像

1、上传镜像到私有仓库

哪台主机需要上传镜像到刚搭建的私有仓库,就需要更改docker进程启动的相关参数

A、修改docker守护进程启动参数

OPTIONS新增--insecure-registry 192.168.20.17

vi /etc/sysconfig/docker

  1. OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://olzwzeg2.mirror.aliyuncs.com --insecure-registry 192.168.20.17'

注:--registry-mirror=https://olzwzeg2.mirror.aliyuncs.com是用于docker镜像下载加速,如何设置镜像加速

B、重启docker进程

重启进程前应先停掉所有在运行的容器

systemctl restart docker

C、修改docker镜像tag标签

格式为: userip/项目名/image名字:版本号(项目名为harbor中的项目名)

  1. $ docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. docker.io/busybox latest 00f017a8c2a6 5 weeks ago 1.11 MB
  4. $ docker tag docker.io/busybox:latest 192.168.20.17/test/busybox:latest
D、登陆并push
  1. $ docker login 192.168.20.17:80
  2. $ docker push 192.168.20.17/test/busybox:latest

上传完后在harbor web界面的test项目下则可以看到刚上传的镜像了

2、从私有仓库下载镜像

在需要下载镜像的机器上,同样需要修改docker进程参数(跟上传镜像到私有仓库一样操作进行修改)

docker pull 192.168.20.17/test/busybox:latest

发表评论

表情:
评论列表 (有 0 条评论,305人围观)

还没有评论,来说两句吧...

相关阅读