Linux系统Docker环境搭建Harbor私有仓库
1、下载Harbor安装包
本文采用离线安装方式,去Harbor的github下载离线安装包。
注意:harbor对docker和docker-compose版本有要求,请下载对应的版本,我的docker为1.13.1版本,docker-compose为1.25.0版本。
所以下载1.7.X版本的Harbor,更高版本请升级docker到所需要的版本。
选择offline离线安装包下载。
2、解压/配置/安装。
将下载下来的文件:harbor-offline-installer-v1.7.1.tgz拷贝到linux系统里,tar命令解压。
tar -xvf harbor-offline-installer-v1.7.1.tgz
得到一个harbor 目录,进入harbor目录。
修改Harbor配置文件harbor.cfg。
(注意:1.8.0以后的版本里面的文件会不一样。1.8.0 后,harbor配置文件由原先的 harbor.cfg 改为 harbor.yml)
将hostname修改为本机的IP+端口,如192.168.1.1或起个域名reg.harbor.com。不要使用localhost或127.0.0.1
这里可以修改harbor自带的账号admin的密码,默认密码为Harbor12345。
修改后保存,harbor目录内执行命令:
./install.sh
查看启动情况:
docker-compose ps
启动成功之后,访问刚才在harbor配置的地址,可以用配置文件里的管理员账号登录。
3、使用docker向Harbor内push镜像
执行命令
docker login 192.168.1.1
输入harbor的用户名,密码登入harbor就可以,向该账号拥有push权限的项目里,使用docker push命令推镜像了。
EP:但是docker push默认使用https,需要在harbor.cfg中配置域名和证书。如果没有证书,也可以不配置证书,使用http的方式push镜像。
需要修改 daemon.json文件。
vi /etc/docker/daemon.json
在{}内加上"insecure-registries":[“192.168.1.1”],如果{}有别的值加个“,”逗号隔开再添加。(注意:这里的地址要和harbor.cfg配置的hostname的值一致)。
{ “insecure-registries”:[“192.168.1.1”] }
保存退出,需要重启docker,执行命令:
systemctl daemon-reload
systemctl restart docker
重启docker后,有些你之前运行的容器就停止运行了,
docker ps -a
查看一下docker的容器状态,把停掉的容器重启一下。
与harbor相关的容器只需在harbor目录下使用 docker-compose up -d 就可以再次启动harbor服务。
启动之后就可以直接使用docker push向harbor内推容器了。