Harbor是什么,干啥用,其实网上很多资料,可以查阅。
因一直在阿里云的仓库镜像,一直也在用,后我就发现也可以自己搭建自己的镜像私服,
企业出于隐私性安全性,搭建自己的私服也是有必要的。
刚开始看了下dockerfile配置,form是阿里云的镜像私服地址,这个的要改成我们自己搭建的私服地址
需要准备2台服务器,当然也可以一台,如果没有环境可以考虑虚拟环境
安装步骤
1、安装docker
我前面文章有提怎么安装docker
2、安装docker-compose
curl -L https://dn-dao-github-mirror.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
3、安装Harbor
获取安装包
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-online-installer-v2.4.0.tgz
解压
tar -xf harbor-online-installer-v2.4.0.tgz -C /opt
cp /opt/harbor/harbor.yml.tmpl /opt/harbor/harbor.yml
4、修改harbor.yml文件
cd /opt/harbor/
vi harbor.yml
arbor的默认密码是 Harbor12345 也可以在harbor.yml配置文件进行修改。
运行
./prepare
./install.sh
5、设置开机启动
编辑harbor.service,将下面内容复制进去
vi /lib/systemd/system/harbor.service
以下内容
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
启动harbor.service文件使之生效
systemctl enable harbor
systemctl start harbor
修改了配置文件要重启才能生效
进行Harbor目录 改harbor.yml文件
cd /opt/harbor/
./prepare
docker-compose down -v
docekr-compose up -d
6、检查是否安装成功,访问 Ip+端口
添加一个测试项目,进行push镜像使用
7、测试机 push镜像到私服
我这里准备了2台服务器,一台测试机,一台Harbor机
首先,可以考虑使用一个测试镜像来推送是否成功,比如java8的镜像
但是我用了我服务器本身有的镜像进行推送
docker pull nginx:1.20
docker tag nginx:1.20 192.168.1.10:5000/test/nginx:1.20
docker push 192.168.1.10:5000/test/nginx:1.20
在测试机器上进行push会出现unauthorized 是因为没有登录
docker login ip:端口
docker login 192.168.1.10:5000
根据提示进行登录用户名和密码,密码为配置文件的
如果push出现 error response from daemon:Get https://… http:server gave HTTP response to HTTPS client
重启下docker 服务
在测试机上配置daemon.json文件
vi /etc/docker/daemon.json
添加 私服镜像
{
"registry-mirrors": ["https://05eotbde.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.1.10:5000"] #添加此私服ip+端口
}
保存后重启
systemctl restart docker
8、检查镜像私服push上去,登录后台查看
查看push命令