0
点赞
收藏
分享

微信扫一扫

harbor - 企业级 Docker 私有仓库

认真的老去 2021-09-22 阅读 127
日记本

一、安装底层需求

Python应该是2.7或更高版本
Docker引擎应为1.10或更高版本
Docker Compose需要为1.6.0或更高版本
docker-compose下载安装

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

二、仓库端

Harbor 安装(安装v1.x.x版本):Harbor 官方地址:https://github.com/vmware/harbor/releases
1 、 解 压 软 件 包 : tar xvf harbor-offline-installer-<version>.tgz (下载离线包,能节省时间)
https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz
2、配置harbor.cfg
a、必选参数
hostname:写入仓库ip地址(写私有ip)或域名
ui_url_protocol:http或https。默认为http,需要修改为https

以下不需修改(做了解):
db_password:用于db_auth的MySQL数据库的根密码。更改此密码进行任何生产用途
max_job_workers:(默认值为3)作业服务中的复制工作人员的最大数量。对于每个映像复制作业,
工作人员将存储库的所有标签同步到远程目标。增加此数字允许系统中更多的并发复制作业。但是,由于每个工 
作人员都会消耗一定数量的网络/ CPU/IO资源,请根据主机的硬件资源,仔细选择该属性的值
customize_crt:( on或off。默认为on)当此属性打开时, prepare脚本将为注册表的令牌的生成/验证创建
私钥和根证书
ssl_cert: /data/cert/server.crt   SSL证书的路径,仅当协议设置为https时才应用
ssl_cert_key: /data/cert/server.csr   SSL密钥的路径,仅当协议设置为https时才应用
secretkey_path:/data/cert/  用于在复制策略中加密或解密远程注册表的密码的密钥路径

3、创建 https 证书以及配置相关目录权限

mkdir -p /data/cert
cd /data/cert
openssl genrsa -des3 -out server.key 2048 
openssl req -new  -key server.key -out server.csr 
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

chmod -R 777 /data/cert 

4、运行脚本进行安装

cd 进入解压包

./install.sh

5、访问测试
https://公有IP地址 (若无公有IP,将私有IP代替)。
请注意,默认管理员用户名/密码为admin / Harbor12345

5.1、进入web端
新建私有/公有项目(我建的是xitong),再新建用户打开xitong项目把我新建的用户添加进去【此处作为客户端操作时客户登陆harbor进行镜像拉取,但是项目如果是公有就不需要登陆用户即可pull项目】
6、上传镜像进行上传测试
a、指定镜像仓库地址*(服务端私有IP)

vim    /etc/docker/daemon.json
{
"insecure-registries": ["serverip"]
#或"insecure-registries": ["serverip:80"]
}

b、下载测试镜像

docker pull hello-world 

c、给镜像重新打标签(docker tag 原名:原版本 仓库地址(私有IP)/仓库名/镜像名:版本)

docker   tag   hello-world:latest  serverip/xitong/hello-world:v1.0
或
docker   tag   hello-world:latest  serverip:80/xitong/hello-world:v1.0

d 、 登 录 进 行 上 传(此处serverip是私有IP的)

docker login serverip

d 、 进 行 上 传

docker push  serverip/xitong/hello-world:v1.0
或
docker push  serverip:80/xitong/hello-world:v1.0

三、客户端 其它 Docker 客户端下载测试(假设与客户端同局域网)

a、指定镜像仓库地址(服务端私有IP)

vim/etc/docker/daemon.json
{
"insecure-registries": ["serverip"]
#或"insecure-registries": ["serverip:80"]
}

b 、 登 录 进 行下载

docker login serverip

c、下载测试镜像()

docker pull serverip/xitong/hello-world:v1.0
或
docker pull serverip:80/xitong/hello-world:v1.0
猪猪猪噫噫噫:(若想要curl需harbor仓库设置为公开)

举报

相关推荐

0 条评论