Harbor离线安装
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.
Harbor离线安装
Dec 14, 2021docker6点击
Harbor是VMWare公司开发的,用来完善Docker Registry的功能。使用Harbor,可以:
按项目管理镜像;
记录用户对镜像仓库项目的操作,包含create、push 、delete、pull等操作;
有直观的图形界面;有用户管理,可以针对项目进行细粒度的权限控制;
仓库内的镜像可以在图形界面删除与复制,垃圾清理;
可以同步已有镜像仓库的镜像;API控制中心!
安装 Harbor
前需要先安装 Docker
和 docker-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 安装
docker
和 docker-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与命令行操作同样生效),不要使用
localhost
、127.0.0.1
或0.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 仓库服务搭建完成了。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK