3

Harbor离线安装

 2 years ago
source link: https://www.itwork.club/2021/12/14/install-harbor/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Harbor离线安装

Dec 14, 2021docker6点击

Harbor是VMWare公司开发的,用来完善Docker Registry的功能。使用Harbor,可以:

按项目管理镜像;

记录用户对镜像仓库项目的操作,包含create、push 、delete、pull等操作;

有直观的图形界面;有用户管理,可以针对项目进行细粒度的权限控制;

仓库内的镜像可以在图形界面删除与复制,垃圾清理;

可以同步已有镜像仓库的镜像;API控制中心!

安装 Harbor 前需要先安装 Dockerdocker-compose

以上需要用的到的安装下载完成后,并上传到服务上,开始安装。

安装Docker

在线安装Docker 参考这里。

执行如下命令:

# 安装docker前需要先安装selinux、pigz依赖
yum localinstall container-selinux-2.107-3.el7.noarch.rpm
yum localinstall pigz-2.3.3-1.el7.centos.x86_64.rpm
yum localinstall docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

依次执行上述三个命令,docker 安装完成。

启动Docker

> systemctl enable docker # 添加自启动服务
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

> systemctl start docker # 启动

> docker version # 查看安装的版本

建立Docker用户组

> groupadd docker # 建立 docker 组

> usermod -aG docker $USER # 添加当前的用户到用户组

Docker-compose安装

docker-compose 是实现对 Docker 容器集群的快速编排.

# 把下载好的docker-compose 二进制文件上传到/use/local/bin 目录下
> chmod +x /usr/local/bin/docker-compose # 添加执行权限

> docker-compose --version
docker-compose version 1.24.1, build 4667896b

/usr/local/bin/ 这个路径需要在用户环境变量中。

Harbor 安装

dockerdocker-compse 安装完成,接下来安装 Harbor

# 解压 harbor 压缩文件
tar zxf harbor-offline-installer-v2.4.0.tgz

配置harbor.yml

进入到刚解压完的harbor目录下,配置 harbor.yml

cd harbor
cp harbor.yml.tmpl harbor.yml
vim harbor.yml

参数说明:

hostname:访问的Harbor服务的IP或域名(UI与命令行操作同样生效),不要使用localhost127.0.0.10.0.0.0

data_volume: Harbor中的数据挂载对应宿主机的位置,如/home/harbor/data

harbor_admin_password: admin管理员密码,默认管理员账号/密码为(admin/Harbor12345)

database: Harbor内部的数据库

password: 数据库密码

max_idle_conns: 连接池最大保持空闲数

max_open_conns: 同时最大开启的连接数

如果想配置更仔细些,请 参考Github

# 在harbor目录下执行
./install.sh

等待安装命令执行完成,执行以下命令查看 harbor启动了哪些服务

docker-compse ps

Name Command State Ports
-----------------------------------------------------------------------------------------
harbor-core /harbor/entrypoint.sh Up (healthy)
harbor-db /docker-entrypoint.sh 96 13 Up (healthy)
harbor-jobservice /harbor/entrypoint.sh Up (healthy)
harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcp
harbor-portal nginx -g daemon off; Up (healthy)
nginx nginx -g daemon off; Up (healthy) 0.0.0.0:80->8080/tcp
redis redis-server /etc/redis.conf Up (healthy)
registry /home/harbor/entrypoint.sh Up (healthy)
registryctl /home/harbor/start.sh Up (healthy)

到此 Harbor 安装完成。

登录Harbor

通过浏览器访问 hostname 配置的IP地址。输入 harbor_admin_password 配置的用户名和密码登录。

登录进入系统

测试Harbor

接下来测试下,使用 docker push 到这个仓库中,在测试之前我们需要在 /etc/docker/daemon.json 文件中添加如下内容。

{
"insecure-registries": ["192.168.31.22:80"]
}

注意:刚才配置的hostname后需要写明80端口,如果是域名则不需要

改好后,重启docker服务 systemctl restart docker

docker login 192.168.31.22:80

初次登录需要使用用户名与密码,这个是在Harbor用户管理中配置的,admin用户拥有最高权限。

我们将本地 redis 的镜像重新 tag

# 重新tag后才能推送
docker tag redis:latest 192.168.31.22:80/library/redis:latest
# 推送镜像tag后的镜像到harbor仓库
docker push 192.168.31.22:80/library/redis:latest

在Harbor的UI界面 -> 项目 -> library中即可查看

删除本地刚才tag的镜像,我们pull下来试试

#删除本地镜像
docker rmi 192.168.31.22:80/library/redis:latest
#pull Harbor镜像仓库中的镜像
docker pull 192.168.31.22:80/library/redis:latest

latest: Pulling from library/redis
Digest: sha256:76ff608805ca40008d6e0f08180d634732d8bf4728b85c18ab9bdbfa0911408d
Status: Downloaded newer image for 192.168.31.22:80/library/redis:latest

一切正常,至此 harbor 仓库服务搭建完成了。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK