Harbor-Docker私有仓库搭建

安装底层需求

Python应该是2.7或更高版本
Docker引擎应为1.10或更高版本
Docker Compose需要为1.6.0或更高版本

1、下载docker-compose,Harbor

curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 
chmod a+x /usr/local/bin/docker-compose
wget https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz

2、解压软件包:tar xvf harbor-offline-installer-<version>.tgz

tar xvf harbor-offline-installer-v1.2.0.tgz -C /usr/local/

3、修改配置文件

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

4、创建配置文件中所需目录

mkdir -p /data/cert

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

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 755 /data/cert

6、运行脚本进行安装

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

7、浏览器访问测试

https://hub.oldgao.cn
请注意,默认管理员用户名/密码为  admin / Harbor12345

8、上传镜像进行上传测试

8.1在所有docker节点上添加解析,并且添加镜像仓库地址

echo "192.168.66.7 hub.oldgao.cn" >> /etc/hosts

vim /etc/docker/daemon.json
{
 "insecure-registries": ["https://hub.oldgao.cn"]
}

systemctl restart docker

8.2下载测试镜像

docker pull nginx

8.3给镜像重新打标签

docker tag nginx:latest hub.oldgao.cn/library/mynginx:latest

8.4登录进行上传

docker login hub.oldgao.cn
docker push hub.oldgao.cn/library/mynginx:latest

8.5、其它 Docker 客户端下载测试

a、指定镜像仓库地址
vim /etc/docker/daemon.json
{
 "insecure-registries": ["https://hub.oldgao.cn"]
}
b、下载测试镜像
docker pull hub.oldgao.cn/library/mynginx:latest
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容