安装底层需求:
Python应该是2.7或更高版本
Docker引擎应为1.10或更高版本
Docker Compose需要为1.6.0或更高版本
docker-compose 安装:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
安装:Harbor 官方地址
https://github.com/vmware/harbor/releases
创建 https 证书以及配置相关目录权限
申请 TLS 自签证书的过程包括以下几个步骤:
1、生成私钥:使用工具(如 OpenSSL)生成一个私钥。私钥是保密的,用于加密通信。
创建一个2048位的加密私钥:openssl genrsa -des3 -out server.key 2048
输入两次私钥密码即可
2、生成证书签署请求 (CSR):使用私钥生成 CSR。此请求包含公钥和一些身份信息(如组织名称、域名等,需要填写的相关信息展示如下图)。
创建证书请求认证证书:openssl req -new -key server.key -out server.csr
备份一下私钥:cp server.key server.key.org
因为nginx开启需要输入密钥,所以我们需要退密钥,将带有密码保护的私钥(server.key.org
)转换为无密码保护的私钥(server.key
)。通过执行这条命令后,你将得到一个没有密码保护的 server.key
文件,这样在启动 Nginx 时就不需要输入密钥密码了,使得自动化部署或重启过程更加顺利。
openssl rsa -in server.key.org -out server.key
3、自签署证书:使用生成的 CSR 和私钥自签署证书。这一步可以通过 OpenSSL 完成。
创建自签证书:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
4、配置服务器:将自签名证书和私钥安装到服务器上,配置相应的服务
将证书文件创建到/data目录下:
mkdir -p /data/cert
mv server.* /data/cert/
chmod -R 777 /data/cert
Harbor安装:
tar xvf harbor-offline-installer-v2.3.5.tgz
mv harbor /usr/local/
cd /usr/local/harbor/ && ls
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
输入私有仓库镜像域名(和证书申请一致),并指定证书位置
./install.sh
docker ps -a
配置和 hosts,访问测试:https://hub.ljh.com/
登陆时的用户和密码:
admin / Harbor12345
镜像进行上传测试
可以看到一个library公开仓库
创建两个用户(系统管理员、用户1)
退出admin,登陆系统管理员用户,可以看到这个公有仓库:
使用系统管理员用户创建一个私有仓库和一个公开仓库
我这里的镜像推送命令:
docker tag SOURCE_IMAGE[:TAG] hub.ljh.com/public_library/REPOSITORY[:TAG]
docker push hub.ljh.com/public_library/REPOSITORY[:TAG]
退出重新登陆用户1
可以看到public_library
使用一台服务器指定镜像仓库地址(真正去供应商购买的话不需要这一段),推送项目:
vim /etc/docker/daemon.json
{
"insecure-registries": ["hub.yunjisuan.com"]
}
systemctl daemon-reload
systemctl restart docker
修改推送服务器(10)的hosts(我的私有镜像仓库地址为:192.168.1.11)
vim /etc/hosts
添加到最后一行:192.168.1.11 hub.ljh.com
推送一个ubuntu的镜像到公开仓库:
如果是私有镜像需要登陆且有权限
docker login hub.ljh.com
推送镜像命令:
docker tag SOURCE_IMAGE[:TAG] hub.ljh.com/public_library/REPOSITORY[:TAG]
docker push hub.ljh.com/public_library/REPOSITORY[:TAG]
例如将本地pull的centos镜像推上去:
docker pull centos
docker tag centos:latest hub.ljh.com/public_library/myhub-centos:v1.0
docker push hub.ljh.com/public_library/myhub-centos:v1.0
登陆系统管理员查看:
推送一个镜像到私有仓库:
系统管理员账户将用户1加入到维护人员
此时登陆用户1,可以推送了
先登陆用户1:
docker login hub.ljh.com
docker tag centos:latest hub.ljh.com/private_library/myhub-centos:v1.1
docker push hub.ljh.com/private_library/myhub-centos:v1.1
拉取命令:docker pull hub.ljh.com/private_library/myhub-centos:v1.1
发布者:LJH,转发请注明出处:https://www.ljh.cool/4978.html