搭建私有仓库的方案:
1.docker官方提供的搭建私有仓库工具registry,该方式很简单,只需要将其镜像拉取下来,运行即可访问。
2.harbor私有仓库,是VMware公司的开源级的企业级DockerRegistry(仓库)项目。
Registry功能比较简单,不适合作为公司或者团队的私有仓库使用。该文档是安装harbor私有仓库。
前提准备:
- 一台已经安装过docker的机器,docker版本需要大于17;
- 必须安装docker-compose 。
Docker-compose 安装包下载地址 本文下载的是:v2.17.1
Releases · docker/compose · GitHub
如果已经安装好了docker-compose,可以直接填过该步骤。
查看是否安装成功docker-compose:
docker-compose --version
若未安装,可参考如下方式进行安装:
在上述安装地址下载好安装包以后,上传安装包到服务器,将安装包重命名为docker-compose,并将其移动到/usr/local/bin 目录下,然后执行docker-compose --version 命令查看,如果能显示compose版本,则安装成功,接下来即可安装harbor。
重启命令:
docker-compose up -d
Harbor的安装包下载地址(博主使用的是v2.7.2):
Releases · goharbor/harbor · GitHub
安装Harbor
- 在linux服务器上新建一个用于存放Harbor安装包的目录,将下载好的安装包上传到服务器,解压,得到一个harbor的文件夹。
-
进入harbor 文件夹,将harbor.yml.tmpl文件复制一份并改名为harbor.yml。
- 编辑harbor.yml文件。
这里可以修改访问的地址,因为要可以让该仓库被外界访问,所以不允许使用localhost或者127.0.0.1。可以使用真实IP
修改port端口,默认端口为80,这里端口可以根据自己实际情况修改。
这里是证书配置,配置了这里后访问仓库需要使用https访问,此次部署未使用证书,所以这里我先将他注释掉
这里设置可视化后台的admin账号登录密码
4、编辑好以后保存,退出。然后在harbor目录下执行
./prepare
等待命令执行完。
5、在harbor目录下执行
./install.sh --with-trivy
参数说明:--with-trivy 参数是表示启用镜像扫描功能并使用trivy扫描器,改参数也可以不带。
等待执行完成。
6、访问可视化后台
打开浏览器访问,ip为服务器ip地址,端口为配置文件中http或https配置的端口。用户名为admin,密码为配置文件中配置的密码。
将制作好的镜像上传到私有库中
在服务器执行docker登录命令
docker login 你的ip:你的端口
输入用户名密码,也就是私有库admin后台的账号和密码,进行docker登录。
踩过的坑
1、如果登录时碰到服务不可用的错误提示,需要检查一下数据文件挂载目录和文件是否有修改的权限。然后再重启一下docker-compose试试即可。重启命令:
docker-compose down
Docker-compose up -d
2、Harbor如果没有配置https访问,直接上传镜像时会报错:
这是因为docker从某个版本开始默认了https的请求,如果不配置https的话,需要在/etc/docker目录下,找到 daemon.json 文件,如果没有则新增,然后编辑添加以下代码:
{"insecure-registries": ["你的ip:你的端口"]}
然后重新加载daemon:
systemctl daemon-reload
systemctl restart docker
等待重启好即可。