docker私有库之 Harbor 部署案例教程(:=)


Harbor

  • Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能

  • 相对于registry私有库 有着更强大的功能 ,最重要的支持使用web管理和图形化的界面,且基于项目为容器镜像分类,在harbor中需要先创建项目 ,才能将镜像放入项目中。
    在这里插入图片描述

部署harbor

先下载harbor安装包
放入服务器中

tar xf harbor-offline-installer-v1.2.2.tgz
mv harbor /usr/local/
vim /usr/local/harbor/harbor.cfg
行5 hostname 20.0.0.17 #自己docker服务器的地址
保存退出
unzip consul-template_0.19.3_linux_amd64.zip
cp -p docker-compose /usr/local/bin/
chmod +x /usr/local/bin/docker-compose
sh /usr/local/harbor/install.sh
docker ps -a #查看harbor启动的多个容器
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS                      PORTS                                                              NAMES
ca2d7929220d        vmware/harbor-jobservice:v1.2.2    "/harbor/harbor_jobs…"   14 seconds ago      Up 14 seconds                                                                                  harbor-jobservice
fcf4fab61bde        vmware/nginx-photon:1.11.13        "nginx -g 'daemon of…"   14 seconds ago      Up 14 seconds               0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp   nginx
419ab25955e1        vmware/harbor-ui:v1.2.2            "/harbor/harbor_ui"      15 seconds ago      Up 14 seconds                                                                                  harbor-ui
59ccbede34eb        vmware/registry:2.6.2-photon       "/entrypoint.sh serv…"   15 seconds ago      Up 15 seconds               5000/tcp                                                           registry
9081e83e6dd3        vmware/harbor-adminserver:v1.2.2   "/harbor/harbor_admi…"   15 seconds ago      Up 15 seconds                                                                                  harbor-adminserver
b9ab03923f9f        vmware/harbor-db:v1.2.2            "docker-entrypoint.s…"   15 seconds ago      Up 15 seconds               3306/tcp                                                           harbor-db
0cfca25246ff        vmware/harbor-log:v1.2.2           "/bin/sh -c 'crond &…"   16 seconds ago      Up 15 seconds               127.0.0.1:1514->514/tcp                                            harbor-log

验证
使用浏览器服务20.0.0.17
在这里插入图片描述
登录harbor
默认用户名 admin
默认密码 Harbor12345

管理harbor私有库

直接在网页上点击项目
可以直接在这里添加和删除项目
在这里插入图片描述

在这里插入图片描述
选中就是设为公开 不选就是私有
在这里插入图片描述
可以直接在项目界面更改访问级别

点击项目即可进入项目查看其中所含的镜像

添加访客或者管理员
在这里插入图片描述
在这里插入图片描述
可以为项目添加访客和管理员(必须是已有的用户才能添加)
在这里插入图片描述
在这里插入图片描述
在linux上管理harbor
登录harbor
docker login -u admin -p Harbor12345 http://127.0.0.1
注:如果使用20.0.0.17的准确ip登录会因为权限问题被拒绝登录
在这里插入图片描述

上传镜像
可以直接在web中复制linux端所需要的命令
在这里插入图片描述
然后在linux端上传
上传前需要重新打标签

docker tag 20.0.0.17/nginx/cirros:test1 127.0.0.1/nginx/cirros:test1
docker push 127.0.0.1/nginx/cirros
The push refers to repository [127.0.0.1/nginx/cirros]
858d98ac4893: Pushed 
aa107a407592: Pushed 
b993cfcfd8fd: Pushed 
test1: digest: sha256:c7d58d6d463247a2540b8c10ff012c34fd443426462e891b13119a9c66dfd28a size: 943

注:这里和上面一样如果直接使用20.0.0.17的地址 会被拒绝访问

使用客户端访问harbor

vim /usr/lib/systemd/system/docker.service #修改docker访问配置文件
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.195.128 --containerd=/run/containerd/containerd.sock
#在此处新增http访问
docker login  -u admin -p Harbor12345 http://20.0.0.17
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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
docker pull 20.0.0.17/nginx/cirros:test1 #下载刚刚上传的镜像
test1: Pulling from nginx/cirros
f513001ba4ab: Pull complete 
8da581cc9286: Pull complete 
856628d95d17: Pull complete 
Digest: sha256:c7d58d6d463247a2540b8c10ff012c34fd443426462e891b13119a9c66dfd28a
Status: Downloaded newer image for 20.0.0.17/nginx/cirros:test1

注:如果不修修改docker的配置文件会出现报错,出现这问题的原因 Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜 像默认使用的是 HTTP 服务,所以与私有镜像交互时出现错误

可以在客户端上使用docker的基础命令来管理harbor

[root@server1 yum.repos.d]# docker login 20.0.0.17
Authenticating with existing credentials...
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
[root@server1 yum.repos.d]# docker rmi 20.0.0.17/nginx/cirros:test1

使用docker-compose维护管理harbor

如果需要对harbor的配置文件进行修改 需要先停止harbor

cd /usr/local/harbor/ #先到达harbor目录下
ll
docker-compose down -v #再使用docker-compose停止服务
vim harbor.cfg #进行需要的修改
./prepare #使用prepare脚本填充脚本
docker-compose up -d #重启服务

如需重新部署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、付费专栏及课程。

余额充值