Linux安装镜像仓库Harbor

先来看一下Harbor的页面,不管是页面布局,还是操作功能,明显比registry好。

 

 1、安装docker

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+端口号。

账号admin,密码Harbor12345

 

 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

  

posted @ 2022-08-11 09:18  云村的王子  阅读(616)  评论(0编辑  收藏  举报