harbor

使用harbor要先安装docker及docker-compose

下载 Harbor离线安装包
下载地址:https://github.com/goharbor/harbor/releases

我这里下载的是harbor-offline-installer-v2.2.0.tgz
,492M

#将安装包放到/data/harbor
mkdir -p /data/harbor


# 创建服务器证书密钥文件harbor.key
openssl genrsa -des3 -out harbor.key 2048
# 输入密码123456,确认密码,自己随便定义,但是要记住,后面会用到。

# 创建服务器证书的申请文件harbor.csr
openssl req -new -key harbor.key -out harbor.csr
# 输入密钥文件的密码, 然后一路回车

# 备份一份服务器密钥文件
cp harbor.key harbor.key.org

# 去除文件口令
openssl rsa -in harbor.key.org -out harbor.key
# 输入密钥文件的密码

# 创建一个自当前日期起为期十年的证书 harbor.crt
openssl x509 -req -days 3650 -in harbor.csr -signkey harbor.key -out harbor.crt

tar -zxvf harbor-offline-installer-v2.2.0.tgz
[root@yfm17 harbor]# ll
total 506244
-rw-r--r-- 1 root root      3361 Feb 23 14:06 common.sh
-rw-r--r-- 1 root root 518358127 Feb 23 14:07 harbor.v2.2.0.tar.gz
-rw-r--r-- 1 root root      7840 Feb 23 14:06 harbor.yml.tmpl
-rwxr-xr-x 1 root root      2500 Feb 23 14:06 install.sh
-rw-r--r-- 1 root root     11347 Feb 23 14:06 LICENSE
-rwxr-xr-x 1 root root      1881 Feb 23 14:06 prepare

cp harbor.yml.tmpl harbor.yml
vi harbor.yml

# 将hostname改成本机IP或域名,不要用localhost,127.0.0.1或0.0.0.0,冒号后面都有一个空格
hostname: 192.168.199.117
ui_url_protoc0l: https

# 将http端口改成10080,因为默认用的80端口已经被占用,http可以指定任意端口
http:
  port: 10080
# 配置https的端口,只能使用443端口,更改证书路径,证书路径为刚刚生成的https证书的实际路径
https:
  port: 443
  certificate: /data/harbor/harbor.crt
  private_key: /data/harbor/harbor.key
# 修改后台管理密码
harbor_admin_password: 12345
# harbor的内部数据库密码
database:
  password: 123456
# 修改harbor数据存储路径与日志存储路径,目录要先创建好并赋予777权限
data_volume: /data/harbor/harbor-data
# 修改日志存放路径,默认路径为/var/log/harbor
log:
  local:
    location: /data/harbor/harbor-log
    
./install.sh

访问http://192.168.199.117:18080 admin/12345
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rsDjcShf-1616032237365)(https://s3.ax1x.com/2021/03/16/6s9Ad1.png)]

 要让docker可以访问harbor,需要将harbor域名或IP设置为docker的受信任仓库,修改配置文件 /etc/docker/daemon.json ,增加docker受信任IP或域名。
vi  /etc/docker/daemon.json
{
    "insecure-registries": ["192.168.199.117:18080"]
}
拷贝https证书文件harbor.crt到 /etc/docker/certs.d/serverIp 文件夹。每个docker都要拷贝证书文件。
mkdir -p /etc/docker/certs.d/192.168.199.117
cp /data/harbor/harbor.crt  /etc/docker/certs.d/192.168.199.117/ca.crt
#注意,拷贝过去的证书文件名为 ca.crt 

#重启docker
systemctl daemon-reload
systemctl restart docker.service

#重启harbor
./prepare
docker-compose down
docker-compose up -d

在harbor新建项目qingpi
[root@yfm17 harbor]# docker images -a | grep nginx-photon
goharbor/nginx-photon                                v2.2.0              39fcd9da1a47        3 weeks ago         40.2MB

[root@yfm17 harbor]# docker login 192.168.199.117:18080 -u admin -p 12345
Login Succeeded

# docker tag 本地镜像名:版本号 ip:port/项目名称/远程镜像名:版本号,如果不加版本号表示最新版本
docker tag goharbor/nginx-photon:v2.2.0 192.168.199.117:18080/qingpi/goharbor/nginx-photon:v1
# 上传镜像到harbor
docker push 192.168.199.117:18080/qingpi/goharbor/nginx-photon:v1

[root@yfm17 harbor]# docker rmi 192.168.199.117:18080/qingpi/goharbor/nginx-photon:v1
Untagged: 192.168.199.117:18080/qingpi/goharbor/nginx-photon:v1
Untagged: 192.168.199.117:18080/qingpi/goharbor/nginx-photon@sha256:ab96c8a6dbdaace47a504c78840eb56b23e0a7cd6d92e62284795887387f49ac

[root@yfm17 harbor]# docker pull 192.168.199.117:18080/qingpi/goharbor/nginx-photon:v1
v1: Pulling from qingpi/goharbor/nginx-photon
Digest: sha256:ab96c8a6dbdaace47a504c78840eb56b23e0a7cd6d92e62284795887387f49ac
Status: Downloaded newer image for 192.168.199.117:18080/qingpi/goharbor/nginx-photon:v1

harbor

参考:

centos 7离线安装harbor

上一篇:Linux_Bash常用脚本


下一篇:Docker搭建私有仓库Harbor