私有化容器仓库Harbor

作者 : 木木 本文共5120个字,预计阅读时间需要13分钟 发布时间: 2022-02-16 共144人阅读

初学不知服务器好,错把女人当成宝!2*4*8服务器74/年,可以购买3年,新老用户不限 少帮助站街女人一次就可购买3年服务器   点我就对了


简介: 私有化容器仓库Harbor

自建镜像参考harbor

官网地址 https://github.com/goharbor/harbor/releases
参考地址 https://www.cnblogs.com/tianzhendengni/p/14071523.html

安装Docker-compose

1、安装
yum install -y docker-compose
2、查看版本
docker-compose --version

下载

1、下载地址
https://github.com/goharbor/harbor/releases
2、解压
tar -zxf harbor-offline-installer-v2.4.1.tgz -C /usr/local/

配置

1、mkdir -p /data/certs
   cd /data/certs

2、配置ssl
    参考地址 https://zhuanlan.zhihu.com/p/234918875
    root@eb7023:/data/certs>openssl genrsa -out ca.key 4096

    http://harbor23.com这里是我harbor仓库的域名,即harbor配置文件中hostname的值,也可以写ip
    root@eb7023:/data/certs>openssl req -x509 -new -nodes -sha512 -days 3650  -subj "/CN=harbor23.com"  -key ca.key  -out ca.crt
    root@eb7023:/data/certs>ll
    total 8
    -rw-r--r-- 1 root root 1797 Sep 11 14:20 ca.crt
    -rw-r--r-- 1 root root 3243 Sep 11 14:18 ca.key

    创建私钥
    root@eb7023:/data/certs>openssl genrsa -out server.key 4096

    生成证书签名请求
    root@eb7023:/data/certs>openssl req  -new -sha512  -subj "/CN=harbor23.com"  -key server.key  -out server.csr
    root@eb7023:/data/certs>ll
    total 16
    -rw-r--r-- 1 root root 1797 Sep 11 14:20 ca.crt
    -rw-r--r-- 1 root root 3243 Sep 11 14:18 ca.key
    -rw-r--r-- 1 root root 1590 Sep 11 14:24 server.csr
    -rw-r--r-- 1 root root 3243 Sep 11 14:20 server.key

    生成harbor仓库主机的证书

    root@eb7023:/data/certs>

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=harbor23.com
EOF

    root@eb7023:/data/certs>
    root@eb7023:/data/certs>ll
    total 20
    -rw-r--r-- 1 root root 1797 Sep 11 14:20 ca.crt
    -rw-r--r-- 1 root root 3243 Sep 11 14:18 ca.key
    -rw-r--r-- 1 root root 1590 Sep 11 14:24 server.csr
    -rw-r--r-- 1 root root 3243 Sep 11 14:20 server.key
    -rw-r--r-- 1 root root  231 Sep 11 14:48 v3.ext

    生成harbor仓库主机的证书
    root@eb7023:/data/certs>openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
    Signature ok
    subject=/CN=harbor23.com
    Getting CA Private Key
    root@eb7023:/data/certs>ll
    total 28
    -rw-r--r-- 1 root root 1797 Sep 11 14:20 ca.crt
    -rw-r--r-- 1 root root 3243 Sep 11 14:18 ca.key
    -rw-r--r-- 1 root root   17 Sep 11 14:48 ca.srl
    -rw-r--r-- 1 root root 1830 Sep 11 14:48 server.crt
    -rw-r--r-- 1 root root 1590 Sep 11 14:24 server.csr
    -rw-r--r-- 1 root root 3243 Sep 11 14:20 server.key
    -rw-r--r-- 1 root root  231 Sep 11 14:48 v3.ext

    到目前为止所有需要的证书文件就生成完毕了,下面需要一些配置

    下面要修改harbor的配置文件 修改以下配置项
    cd /usr/local/harbor/
    mv /usr/local/harbor/harbor.yml.tmpl harbor.yml
    root@eb7023:/data/certs>vim /usr/local/harbor/harbor.yml 
    hostname: harbor23.com
    https:
    port: 443
    certificate: /data/certs/server.crt
    private_key: /data/certs/server.key

    TODO 接下来就可重启以下harbor仓库了,注意这里要CD到harbor解压目录
    #导入配置
    ./prepare
    #安装
    ./install.sh
    ##停止当前运行的harbor
    docker-compose down -v
    ##后台运行的harbor
    docker-compose up -d


    为docker配置harbor认证
    将server证书cp到docker所在的机器固定目录中

    #笔者这里的certs.d是已经存在的,如果不存在需要mkdir
    mkdir -p /etc/docker/certs.d/harbor23.com     
    root@eb7023:/data/certs>ll
    total 28
    -rw-r--r-- 1 root root 1797 Sep 11 14:20 ca.crt
    -rw-r--r-- 1 root root 3243 Sep 11 14:18 ca.key
    -rw-r--r-- 1 root root   17 Sep 11 14:48 ca.srl
    -rw-r--r-- 1 root root 1830 Sep 11 14:48 server.crt
    -rw-r--r-- 1 root root 1590 Sep 11 14:24 server.csr
    -rw-r--r-- 1 root root 3243 Sep 11 14:20 server.key
    -rw-r--r-- 1 root root  231 Sep 11 14:48 v3.ext

    root@eb7023:/data/certs>cp server.crt  /etc/docker/certs.d/harbor23.com/server.crt
   
    这里我的docker和harbor是在同一台机器上的,如果是其他机器也复制crt文件即可
    root@eb7023:/data/certs>scp server.crt root@eb7045:/etc/docker/certs.d/harbor23.com/server.crt
    root@eb7045's password:
    server.crt                                    100% 1830     2.1MB/s   00:00

    如果是windows的话 C:\ProgramData\Docker\certs.d\harbor23.com 目录下放server.crt

    3 #重新查看证书过期日期(这次是十年)
    root@harbor:/data/harbor/certs# openssl x509 -in /data/harbor/certs/ca.crt -noout -dates
    
    4、需改/etc/hosts 将ip和域名添加起来(可能需要)

3、安装
cd /usr/local/harbor/
./install.sh

✔ ----Harbor has been installed and started successfully.----  (出现代表成功)

启动查看

必须保证docker-compose启动,不然可能出现 harbor 核心服务不可用
cd /usr/local/harbor
1、查看
docker-compose ps
2、启动关闭
docker-compose start
docker-compose stop
3、编写开机启动
echo "docker-compose start" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

nginx扩展

可以加nginx反代
cat /etc/nginx/conf.d/harbor.conf
server {    
listen       80;
server_name  harbor.od.com;
# 避免出现上传失败的情况
client_max_body_size 1000m;
location / {
proxy_pass http://127.0.0.1:180;  #180是harbor的端口号
}
}

测试harbor

1、配置docker(那个docker的服务器有就在那个里加)
不加下面配置报错(Get "https://harbor23.com/v2/": dial tcp 192.168.0.2:443: connect: connection refused)

cat /etc/docker/daemon.json
{
“insecure-registries”:[“harbor23.com”]
}

systemctl daemon-reload
systemctl restart docker
2、先拉取一个nginx
docker pull nginx
3、加标签
docker tag nginx:latest harbor23.com/public/nginx:skv1    (标签是域名+项目名+镜像版本)
4、登录
docker login -u admin  http://harbor23.com  输入密码
5、推送
docker push harbor23.com/public/nginx:skv1
6、拉取
docker pull harbor23.com/public/nginx:skv1
7、推出登录
docker logout

外网访问

修改harbor所在的服务器docker配置

1、修改docker配置
vi /lib/systemd/system/docker.service
找到包含ExecStart的这行,添加如下内容:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 
2375端口为docker远程服务端口,包含了docker可视化工具portainer,以及远程上传镜像的功能。

2、vi /etc/docker/daemon.json 上面已经做了
# 添加harbor镜像地址
{
"insecure-registries": ["172.28.152.101"]
}

windows idea 访问 详情参考 https://blog.csdn.net/An1090239782/article/details/111316025

1、安装docker destop
2、如果是windows的话 C:\ProgramData\Docker\certs.d\harbor23.com 目录下放server.crt证书
3、修改C:\Windows\System32\drivers\etc\hosts 指向harbor23.com域名
4、配置docker destop setting 修改 docker engine 配置增加
    "insecure-registries": [
        "harbor23.com"
    ],
自动草稿
自动草稿
优质免费资源分享站wordppt--全站内容均来源于网络,仅供学习交流使用。如有侵权内容请联系我们,我们会三个工作日内下架相关文章或资源。
购买云服务器请进:
《腾讯云》https://curl.qcloud.com/BZhPtRXX
《阿里云》https://www.aliyun.com/minisite/goods?taskCode=yds2021-09zy&recordId=null&userCode=d4m00na3
优质源码资源站最新网站源码游戏源码手游源码等免费资源下载 » 私有化容器仓库Harbor

常见问题FAQ

源码下载地址出现付费网盘怎么处理?
联系客服即刻免费下载,留下链接地址,客服会在第一时间待下载资源。
源码可以商用吗?
本站素材均来自余网络,本站仅提供学习交流使用,商用版权请购买正版。
源码下载不会部署安装怎么办?
本站内容均有部署文档,参考文档操作即可。
楼主提供安装部署服务吗?
本站分享仅为学习使用,建议经量自己动手。
资源出现地址无效或无法下载怎么处理。
联系客服,客服会在第一时间处理资源链接问题或退款。
其他所有问题请看这里!!!!!
请保持素质,严禁因为任何问题攻击客服,所有问题客服均会在第一时间处理。无法处理或不满意请邮件投诉sw@51mimu.com

发表评论