先来看一下Harbor的页面,不管是页面布局,还是操作功能,明显比registry好。
1、安装docker
2、安装docker-compse
Harbor对docker-compse的版本是有要求的,我记得是要高于1.19版本。这里提供1.25版本的安装。
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
# 修改harbor.yml文件
cd /opt/harbor/
vi harbor.yml
# Harbor的默认密码是 Harbor12345 也可以在harbor.yml配置文件进行修改。
# 运行
./prepare
./install.sh
4、访问
IP+端口号。
![](https://i-blog.csdnimg.cn/blog_migrate/cad6e03239f0d54a816125bb03f8854a.png)
5、简单做个push操作
首先在Harbor管理页面新建一个test项目
并且这里是有推送命令的。
服务器准备(这里我用了两个机子,如果没有,就用Harbor所在的一台机子也行。主要操作就是将镜像push到镜像仓库):
10.159.62.232: Harbor镜像仓库所在机子
10.159.62.214: 测试机子
开始push(下面命令当中的test指的就是我们刚才创建的test,如果你创建了其他项目,替换就行):
在214机子上操作:
docker pull java:8
docker tag java:8 10.159.62.232:5000/test/java:8
docker push 10.159.62.232:5000/test/java:8
第一次push报错:
解决方案:
修改214机子daemon.json文件,将下面内容复制到里面
vi /etc/docker/daemon.json
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": [
"10.159.62.232:5000"
]
}
第二次push报错:
解决方案:
#在214机子上登录docker连接232,账号密码为Harbor的账号密码。
docker login 10.159.62.232:5000
# 登录成功之后重新push 成功。
备注:另外如果是你搭建了Jenkins+svn+docker持续基础环境,在用本镜像仓库的时候第一次push也会报 我上面第二次push的错误。
解决方案:
# 在搭建Harbor的主机上登录一下login即可。账号密码为Harbor的账号密码。
docker login 10.159.62.232:5000
6、修改了配置文件并生效的操作步骤
1 进行Harbor目录
2 修改harbor.yml文件
3 ./prepare
4 docker-compose donw -v
5 docekr-compose up -d
7、Harbor开机自启
#编辑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