部署带证书的docker高可用的私有仓库harbor

 


一、部署带证书的docker高可用的私有仓库harbor

  harbor下载包:https://hub.fastgit.org/goharbor/harbor/releases

  docker阿里云地址:https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/

  Harbor 是 VMware 公司开源的企业级 Registry 项目,可以帮助用户迅速搭建一个企业级的 Docker registry 服务。它以 Docker 公司开源的 registry 为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control),AD/LDAP 集成、以及审计日志(Audit logging) 等企业用户需求的功能,同时还原生支持中文。

  一)部署docker(docker-compose)

  1、安装docker

#安装docker,生产需要docker存储配置足够大的磁盘
yum install -y https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
systemctl  start docker
systemctl  enable  docker

  2、安装docker-compose(没有pip环境,需先安装)

  安装pip环境

mkdir -p /opt/src
cd /opt/src/ wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python wget https://files.pythonhosted.org/packages/69/81/52b68d0a4de760a2f1979b0931ba7889202f302072cc7a0d614211bc7579/pip-18.0.tar.gz tar xf pip-18.0.tar.gz cd pip-18.0/ python setup.py install pip -V

  安装docker-compose

pip install docker-compose

  二)部署带证书的harbor

  1、生成证书

复制代码
cd /opt/src
wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz
tar xf harbor-offline-installer-v1.5.0.tgz 

mkdir
-p /opt/src/harbor/certs/ cd /opt/src/harbor/certs/ #生成key openssl genrsa -out /opt/src/harbor/certs/harbor-ca.key 2048 #生成指定有效期的证书(节点1) openssl req -x509 -new -nodes -key /opt/src/harbor/certs/harbor-ca.key -subj "/CN=harbor01.local.com" -days 7120 -out /opt/src/harbor/certs/harbor-ca.crt #节点2 openssl req -x509 -new -nodes -key /opt/src/harbor/certs/harbor-ca.key -subj "/CN=harbor02.local.com" -days 7120 -out /opt/src/harbor/certs/harbor-ca.crt
复制代码

  2、配置harbor

  更改配置vim /opt/src/harbor/harbor.cfg

hostname = harbor01.local.com
ui_url_protocol = https
ssl_cert
= /opt/src/harbor/certs/harbor-ca.crt ssl_cert_key = /opt/src/harbor/certs/harbor-ca.key
harbor_admin_password = test123456

  安装相关的命令

 ./install.sh

  其他操作命令

#为Harbor生成配置文件
./prepare
#安装
./install
#启动
docker-compose up -d
#关闭
docker-compose down -v

  三)客户端配置

  1、发送harbor证书到管理节点

mkdir -p /etc/docker/certs.d/harbor{01,02}.local.com
#发送证书到管理节点,然后将相关文件发送到所有操作镜像的节点
#node01
scp /opt/src/harbor/certs/harbor-ca.crt 10.0.0.10:/etc/docker/certs.d/harbor01.local.com/
#node02
scp /opt/src/harbor/certs/harbor-ca.crt 10.0.0.10:/etc/docker/certs.d/harbor02.local.com/

  2、docker登录测试

  

  登录成功后,在操作用户家目录生成.一个隐藏目 .docker,目录底下有一个文件config.json 

复制代码
# cat config.json 
{
    "auths": {
        "harbor01.loclal.com": {
            "auth": "YWRtaW46dGVzdDEyMzQ1Ng=="
        }
    },
    "HttpHeaders": {
        "User-Agent": "Docker-Client/18.03.1-ce (linux)"
    }
}
复制代码

  3、把相关文件送到有操作镜像的节点

  yum install sshpass -y

复制代码
#!/bin/bash
#目标主机列表
IP="
10.0.0.11
10.0.0.12
10.0.0.13
10.0.0.14
"
for node in ${IP};do
  sshpass -p 123456 ssh-copy-id  -p 22 ${node}  -o StrictHostKeyChecking=no
  if [ $? -eq 0 ];then
    echo "${node} 秘钥copy完成,准备环境初始化....."
      ssh  -p 22   ${node}  "mkdir /etc/docker/certs.d/harbor{01,02}.local.com -p"
      echo "Harbor 证书目录创建成功!"
      scp -P 22 /etc/docker/certs.d/harbor01.local.com/harbor-ca.crt ${node}:/etc/docker/certs.d/harbor01.local.com/harbor-ca.crt
      scp -P 22 /etc/docker/certs.d/harbor02.local.com/harbor-ca.crt ${node}:/etc/docker/certs.d/harbor02.local.com/harbor-ca.crt
      echo "Harbor 证书拷贝成功!"
      scp -P 22 /etc/hosts ${node}:/etc/hosts
      echo "host 文件拷贝完成"
      scp -r -P 22  /root/.docker  ${node}:/root/
      echo "Harbor 认证文件拷贝完成!"
      scp -r -P 22  /etc/resolv.conf  ${node}:/etc/
  else
    echo "${node} 秘钥copy失败"
  fi
done
复制代码

      https://www.cnblogs.com/jicki/p/5737369.html

      https://www.cnblogs.com/zoulixiang/p/9644720.html

二、harbor高级应用

  一)harbor管理helm-charts

  对于已经安装的harbor仓库,先stop,然后执行安装命令

  1、安装

切换到harbor 的安装目录,进行操作
cd $HARBOR_HOME
docker-compose stop
sh install.sh --with-chartmuseum

  安装完,如下图

  

  2、helm使用chart仓库

  安装helm https://www.cnblogs.com/happy-king/p/15170507.html#_label1_0

  安装helm push插件:https://www.cnblogs.com/happy-king/p/15170507.html#_label2_0

  

helm  repo add --username=${USERNAME} --password=${PASSWORD} mylibrary http://${HARBOR_SERVER}/chartrepo/library
helm repo list
helm fetch stable/redis-ha #使用fetch或pull下载charts
helm cm-push redis-ha-2.0.1.tgz mylibrary #上传到私有仓库

 

  二)安装扫描器trivy

  扫描器的文档:https://goharbor.io/blog/harbor-1.10-release/#vulnerability-scanning-with-pluggable-scanners

  对于已经安装的harbor仓库,先stop,然后执行安装命令(注意:高版本)

sh install.sh --with-chartmuseum --with-trivy

  安装后如下图

  

  三)从harbor拉取镜像慢

 

   https://blog.csdn.net/weixin_39520013/article/details/110656420

 

posted @   思维无界限  阅读(499)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示

目录导航