0
点赞
收藏
分享

微信扫一扫

docker——Harbor概述和构建

莞尔小迷糊 2022-02-05 阅读 81

目录

一.Harbor的概述

1.harbor的优势

二.部署Harbor服务

1.此时可真机访问serverIP

2.添加项目并填写项目名称

3.通过127.0.0.1来登陆和推送镜像

4.通过本地主机IP来登录

1.解决方法

2.下载镜像进行测试

5.维护管理Harbor

6.创建Harbor用户

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


一.Harbor的概述

Harbor被部署为多个Docker容器,因此可以部署在任何支持 Docker 的 Linux发行版上。(registry 为其核心组件)

1.harbor的优势

  • 基于角色控制

  • 基于镜像的复制策略

  • 支持LDAP/AD

  • 图像删除和垃圾收集

  • 图像UI

  • 审计

  • RESTful API

二.部署Harbor服务

[root@localhost /opt]# systemctl stop firewalld.service 
[root@localhost /opt]# setenforce 0
[root@localhost /opt]# cd /usr/local/
##将docker-compose传到/usr/local目录下
[root@localhost /usr/local]# rz -E
rz waiting to receive.
[root@localhost /usr/local]# ls
bin docker-compose etc games include lib lib64 libexec mysql nginx php sbin share src
[root@localhost /usr/local]# chmod +x docker-compose
[root@localhost /usr/local]# mv docker-compose /usr/local/bin/

#将harbor-offline-installer-v1.2.2.tgz传入到/root目录下
[root@localhost ~]# rz -E
rz waiting to receive.
[root@localhost ~]# ls
anaconda-ks.cfg harbor-offline-installer-v1.2.2.tgz initial-setup-ks.cfg oyyy.sh
[root@localhost ~]# tar zxf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
[root@localhost ~]# cd /usr/local/harbor/
[root@localhost /usr/local/harbor]# vim harbor.cfg
5 hostname = 192.168.68.195
[root@localhost /usr/local/harbor]# sh /usr/local/harbor/install.sh

 这就说明harbor软件安装完成

1.此时可真机访问serverIP

2.添加项目并填写项目名称

3.通过127.0.0.1来登陆和推送镜像

此时可使用 Docker 命令在本地通过 127.0.0.1 来登录和推送镜像。默认情况下,Register 服务器在端口 80 上侦听

[root@localhost /usr/local/harbor]# docker login -u admin -p Harbor12345 http://127.0.0.1
[root@localhost /usr/local/harbor]# docker pull cirros
[root@localhost /usr/local/harbor]# docker tag cirros:latest 127.0.0.1/oyyy/cirros:1 打标签
[root@localhost /usr/local/harbor]# docker push 127.0.0.1/oyyy/cirros:1

4.通过本地主机IP来登录

以上操作都是在harbor服务器本地操作,如果其他客户端想上传镜像到harbor,需要连接至harbor服务器! 因为,Docker Registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交互时可能会出现错误

1.解决方法

法一

[root@localhost /usr/local/harbor]# vim /usr/lib/systemd/system/docker.service
13 ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.68.195--containerd=/run/containerd/containerd.sock
[root@localhost /usr/local/harbor]# systemctl daemon-reload
[root@localhost /usr/local/harbor]# systemctl restart docker
[root@localhost /usr/local/harbor]# docker login -u admin -p Harbor12345 http://192.168.68.195

 法二

[root@localhost ~]# cd /etc/docker/
[root@localhost /etc/docker]# vim daemon.json
{
"insecure-registries":["http://192.168.68.195"],
"registry-mirrors": ["https://mf7z1s6m.mirror.aliyuncs.com"]
}
 
 

2.下载镜像进行测试

[root@localhost /usr/local/harbor]# docker pull nginx
[root@localhost /usr/local/harbor]# docker tag nginx:latest 192.168.68.195/oyyy/nginx:v2
[root@localhost /usr/local/harbor]# docker push 192.168.68.195/oyyy/nginx:v2

5.维护管理Harbor

可以使用 docker-compose 来管理 Harbor。一些有用的命令如下所示,必须在与docker-compose.yml 相同的目录中运行。

[root@localhost /usr/local/harbor]# docker-compose down -v   卸载
[root@localhost /usr/local/harbor]# ./prepare 填充配置
[root@localhost /usr/local/harbor]# docker-compose up -d

6.创建Harbor用户

[root@localhost /usr/local/harbor]# docker logout 192.168.68.195
[root@localhost /usr/local/harbor]# docker login 192.168.68.195
[root@localhost /usr/local/harbor]# docker rmi 192.168.68.195/oyyy/nginx:v2
[root@localhost /usr/local/harbor]# docker pull 192.168.68.195/oyyy/nginx:v2

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

移除 Harbor 服务容器
[root@localhost /usr/local/harbor]# docker-compose down -v
[root@localhost /usr/local/harbor]# cd /data/registry/docker/registry/v2/repositories/
[root@localhost /data/registry/docker/registry/v2/repositories]# tar zcf oyyy.tar.gz oyyy/*

举报

相关推荐

0 条评论