微服务学习实战笔记 4.2-系统部署篇-搭建 Harbor 镜像仓库服务器

搭建 Harbor 镜像仓库服务器

重新创建一台服务器   HarborSERVER   192.168.2.170 , 按前面方式安装Docker

1、在 docker/daemon.json  配置仓库地址

vi /etc/docker/daemon.json

  

{
    "insecure-registries": ["https://my.hub.com"]
}

 

2、重新启动docker

systemctl daemon-reload && systemctl restart docker

  

3、安装lrzsz包 

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相关操作

mv docker-compose /usr/local/bin/
chmod a+x /usr/local/bin/docker-compose

  

5、执行harbor解压配置

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)

# 创建证书目录,并赋予权限
mkdir -p /data/cert && chmod -R 777 /data/cert && cd /data/cert
# 生成私钥,需要设置密码
openssl genrsa -des3 -out harbor.key 2048

  -输入并确认新密码  :例如   123456

2)创建证书请求:

# 生成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

  或者逐个输入

openssl req -new -key harbor.key -out harbor.csr

       -输入签名私钥的密码 :123456
       -输入国家名 :CN
       -输入省 :BJ
       -输入市 :BJ
       -输入组织 :org
       -输入机构 :org
       -输入域名 : my.hub.com
       -输入邮箱 :xxxxxx@163.com
       -改密码 : (不用直接回车)
       -改名 : (不用直接回车)

 3)将私钥备份一份:

cp harbor.key harbor.key.org

4)退掉私钥密码,以便docker访问(也可以参考官方进行双向认证):

openssl rsa -in harbor.key.org -out harbor.key

  -输入签名私钥的密码 :123456

5)使用证书进行签名:

openssl x509 -req -days 365 -in harbor.csr -signkey harbor.key -out harbor.crt

7、执行安装:

cd 
cd /usr/local/harbor 
./install.sh

  如下图安装完成

  

8、 访问

访问 https://my.hub.com  或 https://192.168.2.170 ,出现下图,输入 用户名:admin    密码(如没改过):Harbor12345

 

9、启动关闭  Harbor

进入目录

cd /usr/local/harbor

关闭Harbor服务,在项目目录下执行

docker-compose down -v

启动Harbor服务,在项目目录下执行

docker-compose up -d

 

配置Harbor开机自启(这块启动失败,还需要找具体原因),参考:关于harbor启动失败解决方法

编辑服务文件

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

 

服务创建好后赋权,开启开机自启,启动服务,查看状态:

chmod +x /usr/lib/systemd/system/harbor.service
systemctl enable harbor.service
systemctl start harbor.service
systemctl status harbor.service

  

 

10、其他服务器解析  my.hub.com

在其他服务器查看是否解析

cat /etc/hosts

解析信息追加到hosts中

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 向其他节点拷贝证书

在其他节点执行目录创建

mkdir -p /etc/docker/certs.d/my.hub.com

在192.168.2.170 节点执行证书拷贝

#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

  

 

 参考资料

最新版Harbor搭建(harbor-offline-installer-v1.10.1.tgz)

关于harbor启动失败解决方法

Docker入门之docker-compose

posted @ 2020-08-26 16:58  燕马越空  阅读(316)  评论(0编辑  收藏  举报