CentOS7下使用Harbor搭建Docker私有仓库
相关资料:
Harbor官方网站:https://goharbor.io/
Harbor Github地址:https://github.com/goharbor/harbor
⒈安装Docker(必要条件)
1.请参考https://www.cnblogs.com/fanqisoft/p/10439620.html安装Docker
2.在Docker中配置可信
//编辑docker服务端设置 vim /etc/docker/daemon.json //将下面内容加到配置文件中 "insecure-registries":["https://hub.coreqi.cn"] //重载配置文件 systemctl daemon-reload //重启Docker systemctl restart docker //查看设置是否生效 docker info
⒉安装
1.下载离线安装包
wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.0-rc1.tgz
2.解压离线安装包
tar -zxvf harbor-offline-installer-v1.9.0-rc1.tgz
3.生成使用的私钥密钥,官方教程地址:https://github.com/goharbor/harbor/blob/master/docs/configure_https.md
#创建保存私钥证书的目录 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 #转换为证书【因为Docker里面引导时是使用Nginx当前端的,所以引导启动时如果私钥和证书是有密码的话就会出现引导不成功的问题,所以我们需要删除私钥和证书的密码,这一步骤就是执行该操作】 openssl rsa -in server.key.org -out server.key #重新签名生成证书 openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt #对证书重新赋予权限 chmod a+x *
-aes128 | -aes192 | -aes256 | -camellia128 | -camellia192 | -camellia256 | -des | -des3 | -idea 这些选项在输出私钥之前使用指定的密码对其进行加密。如果未指定这些选项,则不使用加密。如果使用加密,则将提示您输入密码,如果没有密码通过-passout参数提供。 DES是一种加密方法,而DES3(也称为三重DES)是连续运行3次以增强加密效果的相同方法。 DES3是一种被大量使用的标准(-des3),例如,当您的浏览器重定向到端口443(SSL)时,在交换RSA密钥后,其余的DES3都将与RSA密钥一起使用。
4.编辑Harbor的配置文件
#回到解压目录 cd - cd harbor/ vim harbor.yml
下面还有一些密码配置我们就不改了,但是需要记住。
重新为Harbor生成配置文件
./prepare
5.安装docker-compose
#下载最新版的docker-compose文件 sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose #添加可执行权限 sudo chmod +x /usr/local/bin/docker-compose #测试安装结果 docker-compose --version
6.开始安装
./install.sh
安装成功。
7.开始配置
1.添加host映射
echo "192.168.227.129 hub.coreqi.cn" >> /etc/hosts
cat /ect/hosts
2.访问https://hub.coreqi.cn测试
8.登录私有仓库,测试是否可以连接成功
//输入admin账号密码 docker login https://hub.coreqi.cn
**登录后用户信息保存在$HOME/.docker/config.json,如果需要切换账号就清空该文件内容即可。
9.测试
1.制作image
//拉取hello-world镜像作为示例 docker pull hello-world //制作私有镜像 docker tag hello-world hub.coreqi.cn/library/hello-world
2.推送到私有仓库
//推送到私有服务器 docker push hub.coreqi.cn/library/hello-world