05-Harbor - 企业级 Docker 私有仓库

05-Harbor - 企业级 Docker 私有仓库

安装底层需求:

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

05-Harbor - 企业级 Docker 私有仓库

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

创建一个2048位的加密私钥:
openssl genrsa -des3 -out server.key 2048
输入两次私钥密码即可

创建证书请求认证证书:
openssl req -new -key server.key -out server.csr

05-Harbor - 企业级 Docker 私有仓库

备份一下私钥:
cp server.key server.key.org

因为nginx开启需要输入密钥,所以我们需要退密钥,这样nginx开启就不需要密钥了

openssl rsa -in server.key.org -out server.key

05-Harbor - 企业级 Docker 私有仓库

创建自签证书:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

05-Harbor - 企业级 Docker 私有仓库

将证书文件创建到/data目录下:

mkdir -p /data/cert
mv server.* /data/cert/
chmod -R 777 /data/cert

Harbor安装:

05-Harbor - 企业级 Docker 私有仓库

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

05-Harbor - 企业级 Docker 私有仓库

输入私有仓库镜像域名(和证书申请一致),并指定证书位置

./install.sh

05-Harbor - 企业级 Docker 私有仓库

docker ps -a 

访问测试:https://hub.ljh.com/

05-Harbor - 企业级 Docker 私有仓库

登陆时的用户和密码:
admin / Harbor12345

镜像进行上传测试

可以看到一个library公开仓库

05-Harbor - 企业级 Docker 私有仓库

创建两个用户(系统管理员、用户1)

05-Harbor - 企业级 Docker 私有仓库
05-Harbor - 企业级 Docker 私有仓库
05-Harbor - 企业级 Docker 私有仓库

退出admin,登陆系统管理员用户,可以看到这个公有仓库:

05-Harbor - 企业级 Docker 私有仓库
05-Harbor - 企业级 Docker 私有仓库

使用系统管理员用户创建一个私有仓库和一个公开仓库

05-Harbor - 企业级 Docker 私有仓库
05-Harbor - 企业级 Docker 私有仓库

我这里的镜像推送命令:

docker tag SOURCE_IMAGE[:TAG] hub.ljh.com/public_library/REPOSITORY[:TAG]
docker push hub.ljh.com/public_library/REPOSITORY[:TAG]

退出重新登陆用户1

05-Harbor - 企业级 Docker 私有仓库

可以看到public_library

使用一台服务器指定镜像仓库地址(真正去供应商购买的话不需要这一段),推送项目:

vim /etc/docker/daemon.json
{
"insecure-registries": ["hub.yunjisuan.com"]
}
05-Harbor - 企业级 Docker 私有仓库

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

登陆系统管理员查看:

05-Harbor - 企业级 Docker 私有仓库

推送一个镜像到私有仓库:

系统管理员账户将用户1加入到维护人员

05-Harbor - 企业级 Docker 私有仓库

此时登陆用户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
05-Harbor - 企业级 Docker 私有仓库
05-Harbor - 企业级 Docker 私有仓库

拉取命令:
docker pull hub.ljh.com/private_library/myhub-centos:v1.1

发布者:LJH,转发请注明出处:https://www.ljh.cool/4978.html

(2)
上一篇 2022年6月4日 下午5:23
下一篇 2022年7月28日 下午7:48

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注