自建docker镜像仓库
这里介绍两种自建docker仓库的方案
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
1 搭建Harbor
1.1 安装Harbor前需要安装docker和docker-compose,步骤略
1.2 安装harbor
下载地址:https://github.com/goharbor/harbor/releases
1.2.1 下载并解压
wget https://github.com/goharbor/harbor/releases/download/v2.11.0/harbor-offline-installer-v2.11.0.tgz | tar zxvf harbor-offline-installer-v2.11.0.tgz
1.2.2 进入目录并将harbor.yml.tmpl改成harbor.yml
cd harbor
cp harbor.yml.tmpl harbor.yml
1.2.3 修改配置文件
vim harbor.yml
修改hostname为本机IP地址或域名,注释掉https
1.2.4 运行
./install.sh
1.2.5 登录
登录账号为admin,密码是harbor.yml里的harbor_admin_password,默认为Harbor12345
1.3 上传镜像
1.3.1 下载镜像
从公网拉取nginx:1.24的镜像
docker pull nginx:1.24
1.3.2 修改镜像tag
docker tag nginx:12.4 172.28.11.106:80/cs/nginx:1.24
1.3.3 登录harbor(如果本机就是harbor服务器可以略过)
docker login 172.28.11.106
报错
解决办法:
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 172.28.11.106 --containerd=/run/containerd/containerd.sock
systemctl daemon-reload //重载配置文件
systemctl restart docker //重启docker
1.3.4 推送镜像
docker push 172.28.11.106:80/cs/nginx:1.24
1.4 拉取镜像
docker pull 172.28.11.106/cs/nginx:1.24
1.5 其他
重启harbor命令:
docker-compose stop
docker-compose up –d
2 Gitlab搭建docker私有仓库
2.1 修改配置文件
修改配置 /etc/gitlab/gitlab.rb 文件,将 registry_external_url 的值修改为 http://172.28.11.105:3333 端口可以随意设置
2.2 重启gitlab
docker restart gitlab
如果是docker部署的github,还需要配置docker-compose.yml,放开3333端口
2.3 上传镜像
2.3.1 修改镜像tag
docker tag nginx:1.24 172.28.11.105:3333/root/nginx:1.24
2.3.2 登录
docker login 172.28.11.105:3333
2.3.3 推送镜像
docker push 172.28.11.105:3333/root/nginx:1.24
2.4 拉取镜像
docker pull 172.28.11.105:3333/root/nginx:1.24
License:
CC BY 4.0