微服务学习实战笔记 4.2-系统部署篇-搭建 Harbor 镜像仓库服务器
搭建 Harbor 镜像仓库服务器
重新创建一台服务器 HarborSERVER 192.168.2.170 , 按前面方式安装Docker 。
1、在 docker/daemon.json 配置仓库地址
1 | vi /etc/docker/daemon .json |
{
"insecure-registries": ["https://my.hub.com"]
}
2、重新启动docker
1 | systemctl daemon-reload && systemctl restart docker |
3、安装lrzsz包
1 | yum -y install lrzsz |
下载 docker-compose 和 harbor安装文件:
下载地址 :https://github.com/docker/compose/releases 我下载的是 docker-compose-Linux-x86_64-1.25.4 下载后将-Linux-x86_64 去掉
下载地址 : https://github.com/goharbor/harbor/releases 我下载的是 harbor-offline-installer-v1.10.4.tgz
将 docker-compose 拖拽到XShell中复制到harbor主机
将 harbor-offline-installer-v1.10.4.tgz 拖拽到XShell中复制到harbor主机
4、执行docker-compose相关操作
1 2 | mv docker-compose /usr/local/bin/ chmod a+x /usr/local/bin/docker-compose |
5、执行harbor解压配置
1 2 3 4 | tar -zxvf harbor-offline-installer-v1.10.4.tgz mv harbor /usr/local/ cd /usr/local/harbor vi harbor.yml |
hostname = reg.mydomain.com 或改成自己的 hostname = my.hub.com
certificate: /data/cert/harbor.crt
private_key: /data/cert/harbor.key
6、创建相关证书
1)
1 2 3 4 | # 创建证书目录,并赋予权限 mkdir -p /data/cert && chmod -R 777 /data/cert && cd /data/cert # 生成私钥,需要设置密码 openssl genrsa -des3 -out harbor.key 2048 |
-输入并确认新密码 :例如 123456
2)创建证书请求:
1 2 3 4 5 | # 生成CA证书,需要输入密码123456 openssl req -sha512 -new \ -subj "/C=CN/ST=BJ/L=BJ/O=org/OU=org/CN=my.hub.com" \ -key harbor.key \ -out harbor.csr |
或者逐个输入
1 | openssl req -new -key harbor.key -out harbor.csr |
-输入签名私钥的密码 :123456
-输入国家名 :CN
-输入省 :BJ
-输入市 :BJ
-输入组织 :org
-输入机构 :org
-输入域名 : my.hub.com
-输入邮箱 :xxxxxx@163.com
-改密码 : (不用直接回车)
-改名 : (不用直接回车)
3)将私钥备份一份:
1 | cp harbor.key harbor.key.org |
4)退掉私钥密码,以便docker访问(也可以参考官方进行双向认证):
1 | openssl rsa - in harbor.key.org -out harbor.key |
-输入签名私钥的密码 :123456
5)使用证书进行签名:
1 | openssl x509 -req -days 365 - in harbor.csr -signkey harbor.key -out harbor.crt |
7、执行安装:
1 2 3 | cd cd /usr/local/harbor . /install .sh |
如下图安装完成
8、 访问
访问 https://my.hub.com 或 https://192.168.2.170 ,出现下图,输入 用户名:admin 密码(如没改过):Harbor12345
9、启动关闭 Harbor
进入目录
1 | cd /usr/local/harbor |
关闭Harbor服务,在项目目录下执行
1 | docker-compose down - v |
启动Harbor服务,在项目目录下执行
1 | docker-compose up -d |
配置Harbor开机自启(这块启动失败,还需要找具体原因),参考:关于harbor启动失败解决方法
编辑服务文件
1 | vi /usr/lib/systemd/system/harbor .service |
写入以下内容
[Unit] Description=Harbor After=docker.service systemd-networkd.service systemd-resolved.service Requires=docker.service Documentation=https://github.com/goharbor/harbor [Service] Type=simple Restart=on-failure RestartSec=5 ExecStart=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml up ExecStop=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml down [Install] WantedBy=multi-user.target
服务创建好后赋权,开启开机自启,启动服务,查看状态:
1 2 3 4 | chmod +x /usr/lib/systemd/system/harbor .service systemctl enable harbor.service systemctl start harbor.service systemctl status harbor.service |
10、其他服务器解析 my.hub.com
在其他服务器查看是否解析
1 | cat /etc/hosts |
解析信息追加到hosts中
1 | echo "192.168.2.170 my.hub.com" >> /etc/hosts |
如果其他节点登录仓库或pull和push时出现下面错误,
Error response from daemon: Get https://my.hub.com/v2/: x509: certificate signed by unknown authority
需要从192.168.2.170 向其他节点拷贝证书
在其他节点执行目录创建
1 | mkdir -p /etc/docker/certs .d /my .hub.com |
在192.168.2.170 节点执行证书拷贝
1 2 | #scp /data/cert/harbor.crt 其他节点IP:/etc/docker/certs.d/my.hub.com scp /data/cert/harbor .crt 192.168.2.171: /etc/docker/certs .d /my .hub.com |
参考资料
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步