harbor的搭建与使用
文章目录
- harbor的搭建与使用
- 1. harbor的下载
- 2. 创建ssl证书
- 3.harbor的配置
- 3. docker修改
- 4.启动harbor
- 5.使用docker
- 总结
1. harbor的下载
harbor仓库地址:https://github.com/goharbor/harbor
harbor主要是go语言写的,但是我们docker启动,就没什么影响
下载地址:https://github.com/goharbor/harbor/releases/tag/v2.9.4
选择offline的版本:
目前最新的是2.9.4的版本,但是差不多
/app/harbor
是指定下载到哪里,当然也可以windows下载再传到linux
wget https://github.com/goharbor/harbor/releases/download/v2.9.4/harbor-offline-installer-v2.9.4.tgz -C /app/harbor
解压
tar xf harbor-offline-installer-v2.9.4.tgz -C /app/
可以看到,里面有个文件
ls
common common.sh docker-compose.yml harbor.v2.9.4.tar.gz harbor.yml.tmpl install.sh LICENSE prepare
里面有个harbor.yml.tmpl
这里复制下
cp harbor.yml.tmpl harbor.yml
2. 创建ssl证书
由于harbor必须要ssl证书,很烦
这里修改先创建
这里CN设置自己本机的IP地址
mkdir -p /app/cert
cd /app/cert
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=192.168.3.101" \
-key ca.key \
-out ca.crt #CN 替换为你的仓库域名
会生成两个证书,一个ca.key
, 另一个ca.crt
将 Harbor 生成的证书 /app/cert/ca.crt 复制到 客户端的 /etc/docker/certs.d/仓库域名/。
cp /app/cert/ca.crt /etc/docker/certs.d/192.168.3.101/
3.harbor的配置
修改harbor.yml
刚才复制了下,但是没改
vim harbor.yml
修改为:
# Configuration file of Harbor
# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
# hostname:就是ssl证书的地址
hostname: 192.168.3.101
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80
# https related config
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
# 这里修改证书的路径
certificate: /app/cert/ca.crt
private_key: /app/cert/ca.key
harbor_admin_password: Harbor12345 # 设置管理员密码
改好上面这几个之后
运行脚本
./prepare
# 安装
./install.sh
# 当有编辑/变更harbor.yml文件,请重新执行 ./prepare
# 关闭容器
docker-compose down
这样基本就算安装完整了,剩下就差启动了
3. docker修改
- 首先修改
daemon.json
加下这句"insecure-registries":["192.168.3.101"]
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"],
"insecure-registries":["192.168.3.101"]
}
修改/usr/lib/systemd/system/docker.service
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.3.101
- 重启docker
systemctl restart docker
4.启动harbor
cd /app/harbor
docker-compose up -d
5.使用docker
这里需要输入harbor的账号密码
docker login 192.168.3.101
docker tag centos:latest 192.168.3.101/test/centos:latest # tag 名称= 仓库地址/项目名称/镜像名称:标记(版本号)
# 推镜像到仓库
docker push 192.168.3.101/test/centos:latest
下载镜像
docker pull 192.168.3.101/test/centos:latest
总结
这样基本就算完成了, 主要还是ssl证书的问题会困扰一下,其他相对来说较为简单