Docker Harbor私有仓库

Harbor是什么

  • Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
  • Harbor 被部署为多个 Docker 容器,因此可以部署在任何支持 Docker 的 Linux 发行版 上。
  • 服务端主机需要安装 Python、Docker 和 Docker Compose。

Harbor组件

在这里插入图片描述在这里插入图片描述

Harbor部署

实验环境

  • 每台服务器都部署docker环境
主机名IP地址
Harbor服务器harbor20.0.0.10
测试服务器docker20.0.0.20

Harbor服务器配置

1、下载 Harbor 安装程序

[root@harbor ~]# wget http:// harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz
[root@harbor ~]# ll
-rw-r--r--  1 root root 533765727 121 11:37 harbor-offline-installer-v1.2.2.tgz

2、解压数据包

[root@harbor ~]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

3、配置 Harbor 参数文件

[root@harbor ~]# vim /usr/local/harbor/harbor.cfg
hostname = 20.0.0.10	#第五行修改

4、上传docker-compose工具

[root@harbor ~]# ll
-rw-r--r--  1 root root  10867152 1130 11:42 docker-compose
[root@harbor ~]# chmod +x docker-compose 
[root@harbor ~]# mv docker-compose /usr/bin/

5、启动 Harbor

[root@harbor ~]# sh /usr/local/harbor/install.sh

6、查看 Harbor 启动镜像

[root@harbor ~]# docker images 
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
vmware/harbor-log           v1.2.2              36ef78ae27df        3 years ago         200MB
vmware/harbor-jobservice    v1.2.2              e2af366cba44        3 years ago         164MB
vmware/harbor-ui            v1.2.2              39efb472c253        3 years ago         178MB
vmware/harbor-adminserver   v1.2.2              c75963ec543f        3 years ago         142MB
vmware/harbor-db            v1.2.2              ee7b9fa37c5d        3 years ago         329MB
vmware/nginx-photon         1.11.13             6cc5c831fc7f        3 years ago         144MB
vmware/registry             2.6.2-photon        5d9100e4350e        3 years ago         173MB
vmware/postgresql           9.6.4-photon        c562762cbd12        3 years ago         225MB
vmware/clair                v2.0.1-photon       f04966b4af6c        3 years ago         297MB
vmware/harbor-notary-db     mariadb-10.1.10     64ed814665c6        3 years ago         324MB
vmware/notary-photon        signer-0.5.0        b1eda7d10640        3 years ago         156MB
vmware/notary-photon        server-0.5.0        6e2646682e3c        3 years ago         157MB
photon                      1.0                 e6e4e4a2ba1b        4 years ago         128MB
[root@harbor ~]#

7、查看容器

[root@harbor ~]# docker ps -a
CONTAINER ID        IMAGE                              COMMAND                  CREATED              STATUS              PORTS                                                              NAMES
b3dffd8966c9        vmware/harbor-jobservice:v1.2.2    "/harbor/harbor_jobs…"   About a minute ago   Up About a minute                                                                      harbor-jobservice
38f435a5f79f        vmware/nginx-photon:1.11.13        "nginx -g 'daemon of…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp   nginx
4663d494eefa        vmware/harbor-ui:v1.2.2            "/harbor/harbor_ui"      About a minute ago   Up About a minute                                                                      harbor-ui
297d6ad10ddc        vmware/registry:2.6.2-photon       "/entrypoint.sh serv…"   About a minute ago   Up About a minute   5000/tcp                                                           registry
5c6baedc532f        vmware/harbor-adminserver:v1.2.2   "/harbor/harbor_admi…"   About a minute ago   Up About a minute                                                                      harbor-adminserver
93ce6a03a231        vmware/harbor-db:v1.2.2            "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp                                                           harbor-db
21db3c0a4a2f        vmware/harbor-log:v1.2.2           "/bin/sh -c 'crond &…"   About a minute ago   Up About a minute   127.0.0.1:1514->514/tcp                                            harbor-log

测试

Harbor服务器设置

1、使用浏览器访问harbor管理界面
在这里插入图片描述2、登录

默认用户名:admin
默认密码:Harbor12345

3、创建项目
点击创建项目--------》
在这里插入图片描述4、此时可使用 Docker 命令在本地登录

[root@harbor ~]# docker login -u admin -p Harbor12345 http://127.0.0.1

5、Harbor服务器下载一个镜像用于测试

[root@harbor ~]# docker pull nginx

6、修改镜像标签

[root@harbor ~]# docker tag nginx:latest 127.0.0.1/myproject-kgc/nginx:v1

7、上传镜像

[root@harbor ~]# docker push 127.0.0.1/myproject-kgc/nginx:v1

8、查看是否上传成功
在这里插入图片描述

节点服务器下载镜像

1、修改docker.service文件

[root@docker ~]# vim /usr/lib/systemd/system/docker.service
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 20.0.0.10 --containerd=/run/containerd/containerd.sock   #修改:增加--insecure-registry 20.0.0.10 
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

2、重启docker

[root@[root@docker ~]# systemctl restart docker.servicedocker ~]# systemctl daemon-reload

3、登录

[root@docker ~]# docker login -u admin -p Harbor12345 http://20.0.0.10

4、下载仓库镜像

[root@docker ~]# docker pull 20.0.0.10/myproject-kgc/nginx:v1

5、查看镜像是否下载成功

[root@docker ~]# docker images 
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
20.0.0.10/myproject-kgc/nginx   v1                  bc9a0695f571        6 days ago          133MB

节点服务器上传镜像

1、下载一个镜像用于上传测试

[root@docker ~]# docker pull httpd

2、修改镜像标签

[root@docker ~]# docker tag httpd:latest 20.0.0.10/myproject-kgc/http:v1

3、上传镜像

[root@docker ~]# docker push 20.0.0.10/myproject-kgc/http:v1

4、查看是否上传成功
在这里插入图片描述

Harbor服务下载刚刚上传的http镜像

1、下载镜像

[root@harbor ~]# docker pull 127.0.0.1/myproject-kgc/http:v1

2、查看镜像是否下载成功

[root@harbor ~]# docker images 
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
127.0.0.1/myproject-kgc/http    v1                  0a30f4c29d25        13 days ago         138MB

维护管理harbor

  • 可以使用 docker-compose 来管理 Harbor。一些有用的命令如下所示,必须在与 docker-compose.yml 相同的目录中运行
  • 使用docker-compose命令/usr/bin下面必须有docker-compose工具
  • 要更改 Harbour 的配置文件时,请先停止现有的 Harbour 实例并更新 Harbor.cfg;然 后运行 prepare 脚本来填充配置;最后重新创建并启动 Harbour

Harbor服务器关闭harbor

[root@harbor ~]# cd /usr/local/harbor/
[root@harbor harbor]# docker-compose down -v

Harbor服务器启动harbor

[root@harbor harbor]# docker-compose up -d

创建新用户管理仓库

1、创建用户
在这里插入图片描述在这里插入图片描述2、让新用户可以管理仓库
在这里插入图片描述在这里插入图片描述
3、切换用户登录
在这里插入图片描述在这里插入图片描述 4、节点服务器上切换用户
4.1、注销admin账户的登录

[root@docker ~]# docker logout 20.0.0.10

4.2、登录新用户

[root@docker ~]# docker login 20.0.0.10
Username: abc
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

4、使用新用户下载仓库镜像
4.1、清空镜像用于测试

[root@docker ~]# docker images 
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
20.0.0.10/myproject-kgc/nginx   v1                  bc9a0695f571        6 days ago          133MB
httpd                           latest              0a30f4c29d25        13 days ago         138MB
20.0.0.10/myproject-kgc/http    v1                  0a30f4c29d25        13 days ago         138MB
[root@docker ~]# docker rmi 20.0.0.10/myproject-kgc/nginx:v1
[root@docker ~]# docker rmi 20.0.0.10/myproject-kgc/http:v1
[root@docker ~]# docker rmi httpd:latest

4.2、下载镜像测试

[root@docker ~]# docker pull 20.0.0.10/myproject-kgc/nginx:v1

4.3.、查看镜像是否下载成功

[root@docker ~]# docker images 
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
20.0.0.10/myproject-kgc/nginx   v1                  bc9a0695f571        6 days ago          133MB

移除 Harbor

移除 Harbor 服务容器同时保留镜像数据/数据库

[root@harbor ~]# cd /usr/local/harbor/
[root@harbor harbor]# docker-compose down -v
如需重新部署,需要移除 Harbor 服务容器全部数据
持久数据,如镜像,数据库等在宿主机的/data/目录下,日志在宿主机的 
/var/log/Harbor/目录下。
rm -rf /data/database/
rm -rf /data/registry/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值