搭建harbor仓库

环境说明:

系统:centos7.4

docker版本:20.10.18

docker-compose版本:1.29.2

harbor版本:2.6.0

一、安装docker

# 卸载旧版本
rpm -qa | grep docker | xargs rpm -e
# 安装最新版本
curl -fsSL https://get.docker.com/ | sh
# 查看当前docker版本
docker -v

二、安装docker-compose

# 安装pip
yum install python3-pip
# 通过pip安装docker-compose
pip3 install docker-compose
# 查看docker-compose版本
docker-compose --version

如果在安装过程中出现问题:

ModuleNotFoundError: No module named ‘setuptools_rust‘

解决方法:pip3 install -U pip setuptools

三、安装harbor

下载:https://github.com/goharbor/harbor/releases

解压下载的文件: tar -zxf harbor-online-installer-v2.6.0.tgz

harbor支持http和https协议,实际生产环境中建议使用https

生成自签名证书文件,如果不使用https访问,可跳过此步骤

# 生成ca.key
openssl genrsa -out ca.key 4096
# 生成ca.crt
openssl req -x509 -new -nodes -sha512 -days 3650 -key ca.key -out ca.crt -subj "/C=CN/ST=<省份>/L=<城市>/O=<组织>/OU=<公司>/CN=<IP或域名>"
# 生成server.key
openssl genrsa -out server.key 4096
# 生成server.csr
openssl req -sha512 -new -key server.key -out server.csr -subj "/C=CN/ST=<省份>/L=<城市>/O=<组织>/OU=<公司>/CN=<IP或域名>"

# 生成v3.ext
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1=192.168.56.10
DNS.2=harbor
DNS.3=ks-allinone
EOF

# 生成server.crt
openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
# 生成server.sert
openssl x509 -inform PEM -in server.crt -out server.cert

修改harbor.yml配置文件

hostname: 本机IP
http:
  port: 80   # http端口
# 如果不使用https注释以下内容
https:
  port: 443  # https端口
  # 证书位置
  certificate: /root/harbor/cert/server.crt
  private_key: /root/harbor/cert/server.key
harbor_admin_password: Harbor12345 # 页面登陆默认密码,用户名admin
# 数据库密码
database:
  password: root123

安装

./install.sh

过程中会下载相关镜像

 访问harbor仓库

http://仓库IP或者https://仓库IP

四、harbor使用 

创建新项目:

访问级别(公开):即docker 在pull下载镜像时候,不需要登陆即可下载此项目下的镜像

 docker推送镜像

修改/etc/docker/daemon.json文件,新增或修改以下配置:

"insecure-registries": ["仓库ip地址:端口"]

使配置生效

systemctl daemon-reload
systemctl restart docker

推送镜像

# 保存运行中的docker服务为镜像
# 192.168.56.10:80为仓库地址
# test为新建项目名称
# test:latest为镜像名+标签
docker commit -a "作者信息" -m "提交信息" 容器ID 192.168.56.10:80/test/test:latest
# 登陆
docker login 仓库IP:端口
# 推送镜像
docker push 仓库IP:端口/仓库项目/镜像名:标签

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值