Docker---(五)Harbor仓库的搭建

1 Harbor仓库的部署

实验环境:

server1:172.25.12.1  docker-ce
server2:172.25.12.2  docker-ce
server1和server2的dns解析文件:172.25.12.1  server1 red.westos
防火墙和selinux关闭

(1)下载harbor的离线安装包并解压:tar zxf harbor-offline-installer-v1.10.1.tgz
在这里插入图片描述

(2)下载docker-compose二进制文件,并将其移动到 /usr/local/bin,并给其可执行权限

mv docker-compose-Linux-x86_64-1.27.0 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Docker Compose是 docker 提供的一个命令行工具,用来定义和运行由多个容器组成的应用。使用 compose,可以通过 YAML 文件声明式的定义应用程序的各个服务,并由单个命令完成应用的创建和启动。

  • 查看docker-compose 的使用参数

在这里插入图片描述

  • 将/root/certs/目录中的认证文件复制到/certs目录

在这里插入图片描述
(3)编辑harbor目录 harbor.yml文件:vim /root/harbor/harbor.yml

hostname:red.westos.org ##目标主机的主机名,用于访问Portal和注册表服务。
certificate: /certs/westos.org.crt  ##认证文件的位置
private_key: /certs/westos.org.key ##认证文件的位置
harbor_admin_password: westos  ##管理员的初始密码

在这里插入图片描述
(4) 安装:./install.sh
在这里插入图片描述

2 harbor仓库登陆和使用

(1)在浏览器页面登陆harbor仓库

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

  • 输入账户密码登陆

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

(2)在server1的docker主机登陆harbor仓库:docker login red.westos.org,登陆harbor页面的账号密码

在这里插入图片描述

  • 给镜像打标签:docker tag busybox:latest red.westos.org/library/busybox:latest

在这里插入图片描述

  • 上传镜像:docker push red.westos.org/library/busybox:latest

     red.westos.org:仓库地址
     library:仓库名称
     busybox:latest:镜像
    

在这里插入图片描述

  • 在浏览器端查看镜像文件是否上传成功

在这里插入图片描述

  • 下载镜像:docker pull red.westos.org/library/busybox:latest

在这里插入图片描述

  • 设置优先去私有仓库下载镜像,如果没有去harbor仓库下载:vim /etc/docker/daemon.json
{
  "registry-mirrors" : ["https://red.westos.org"]
}
  • 重启docker服务,使更改生效:systemctl reload docker.service
  • 下载镜像:docker pull busybox,下载的速度会加快

在这里插入图片描述

  • 在浏览器页面查看仓库的日志

在这里插入图片描述

3 私有仓库的使用

(1)创建私有仓库linux
在这里插入图片描述
在这里插入图片描述

(2) 创建用户linux和westos

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

在这里插入图片描述

(3) 将linux用户添加为linux仓库的维护人员,westos用户添加为仓库的访客

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

(4)以linux(维护人员)的身份完成仓库的登陆认证

docker logout red.westos.org
docker login red.westos.org

在这里插入图片描述

  • 向私有仓库inux上传镜像:docker push red.westos.org/linux/webserver

在这里插入图片描述

(5)以westos(访客)的身份完成登陆认证

docker logout red.westos.org
docker login red.westos.org

在这里插入图片描述

  • 向私有仓库linux中上传镜像:docker push red.westos.org/linux/test,访客没有该仓库上传的权限

在这里插入图片描述

  • 访客的身份可以下载私有仓库的镜像:docker pull red.westos.org/linux/nginx

在这里插入图片描述

  • 查看linux的日志发现,westos用户下载了该仓库的镜像

在这里插入图片描述

4 重新安装harbor

  • 停止容器并移除所有在compose文件中定义的容器、网络、镜像和数据卷:docker-compose down

在这里插入图片描述

  • 清除安装过程中所有的配置信息:./prepare

在这里插入图片描述

  • 查看安装的帮助: ./install.sh --help

在这里插入图片描述

 ./install.sh --with-notary --with-clair --with-chartmuseum
 ##   --with-notary 启用harbor.yml中的https配置,加载证书。
 ##   --with-clair 启动helm的clair格式
 ##   --with-chartmuseum 启动镜像漏洞扫描

在这里插入图片描述

  • 安装完成后,重新登陆harbor,可以发现多了 Helm Charts

在这里插入图片描述

  • 前面上传到linux仓库的镜像并没有证书和漏洞扫描

在这里插入图片描述

  • 查看linux仓库的配置管理

在这里插入图片描述

  • 手动完成漏洞扫描

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

  • 下载仓库: docker pull red.westos.org/linux/nginx

在这里插入图片描述

5 镜像签名

(1)在浏览器页面的配置管理中设置linux仓库的内容信任和自动扫描镜像
在这里插入图片描述

在这里插入图片描述

  • 删除已经下载的red.westos.org/linux/nginx镜像:docker rmi red.westos.org/linux/nginx
  • 重新下载linux仓库中的镜像: docker pull red.westos.org/linux/nginx,下载出现错误,原因是linux仓库中的nginx镜像没有签名

在这里插入图片描述
(2)镜像签名的方法

  • 部署根证书
mkdir ~/.docker/tls/red.westos.org:4443/ -p
cd  ~/.docker/tls/red.westos.org:4443/ 
cp /certs/westos.org.crt ca.crt
  • 启用docker内容信任
export DOCKER_CONTENT_TRUST=1
export DOCKER_CONTENT_TRUST_SERVER=https://red.westos.org:4443

测试:

  • 上传镜像:docker push red.westos.org/linux/busybox,根据提示输入设置密码

在这里插入图片描述

  • 镜像上传成功后自动完成漏洞扫描和签名

在这里插入图片描述

  • 上再次传镜像:docker push red.westos.org/linux/busybox:v1,输入正确的

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

  • 收回仓库的认证:docker trust revoke red.westos.org/linux/busybox

在这里插入图片描述

在这里插入图片描述

  • 取消仓库认证:export DOCKER_CONTENT_TRUST=0

6 其他虚拟机使用harbor仓库

scp -r certs.d server2:/etc/docker/

在这里插入图片描述

server2:vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://reg.westos.org"],
}

server2: /etc/hosts

172.25.12.1  server10 reg.westos.org
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker Harbor是一个开源的企业级容器镜像仓库,它可以帮助用户管理和分发Docker镜像。通过搭建Docker Harbor仓库,用户可以自己创建和维护私有的镜像仓库,并使用https认证方式进行安全访问。 要搭建Docker Harbor仓库,首先需要下载和安装Docker Compose工具。可以使用以下命令下载和安装Docker Compose: ``` curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose ``` 接着,可以使用以下命令检查Docker Compose是否安装成功: ``` docker-compose -v ``` 下载完Docker Compose后,需要维护和管理Harbor仓库。首先,需要下载registry镜像并创建本地私有仓库。可以使用以下命令下载registry镜像: ``` docker pull registry ``` 接着,在daemon.json文件中添加私有镜像仓库地址。可以使用以下命令编辑daemon.json文件: ``` vim /etc/docker/daemon.json ``` 并在文件中添加如下内容: ``` { "registry-mirrors": ["https://3c7tpzyf.mirror.aliyuncs.com"], "insecure-registries": ["192.168.122.10:5000"] } ``` 然后,重启Docker服务以使更改生效: ``` systemctl restart docker.service ``` 最后,使用以下命令运行registry容器来启动私有仓库: ``` docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest ``` 以上就是搭建Docker Harbor仓库的过程。通过这个仓库,您可以方便地管理和分发Docker镜像。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [docker-harbor2.4.2-https私有仓库-有验证和web](https://download.csdn.net/download/qq_34953582/87952076)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Docker私有仓库Harbor](https://blog.csdn.net/weixin_48861962/article/details/121726836)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值