部署Harbor容器仓库,给镜像文件一个家

早在之前已经总结过Harbor私有仓库的部署,但在实际操作中一不小心又会踩到坑中,导致登录失败,因此在原来的基础上再次总结一下,避免走老路(说的就是……我,今天又踩了几个坑)。

我这里依然采用离线部署的方式,在部署前需要安装docker运行时环境和docker-compose的支持,准备好Harbor的离线软件包。

1.准备环境

下载安装docker和docker-compose工具,支持CentOS7/Ubuntu:

# 安装docker并启动
sudo curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker

# 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

确认安装无误。

[root@mx harbor]# docker-compose --version
Docker Compose version v2.0.1
[root@mx harbor]# docker --version
Docker version 20.10.9, build c2ea9bc
[root@mx harbor]

配置域名信息,由于Harbor要求使用https认证,这里需要一下域名,我们在hosts下指定,这里的ip根据自己的地址修改:

echo "192.168.31.92  docker.harbor.com" >> /etc/hosts

创建目录 添加密钥(密钥的harbor地址要和hosts地址相同),不使用https可略过下面的步骤
mkdir /etc/certs && cd  /etc/certs
openssl genrsa -out /etc/certs/ca.key 2048
openssl req -x509 -new -nodes -key /etc/certs/ca.key -subj "/CN=docker.harbor.com" -days 5000 -out /etc/certs/ca.crt

下载离线包,我这里2.4.0为例:

mkdir -p /opt/docker/
wget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgz
tar -xf harbor-offline-installer-v2.4.0.tgz && mv harbor /opt/docker/ && cd /opt/docker/harbor
mkdir -p /opt/docker/harbor/data

这样基本运行环境就准备好了。

2.配置

在Harbor文件夹解压后的目录下,应该有如下文件。部署Harbor容器仓库,给镜像文件一个家首先,拷贝样例文件作为配置文件。

cp harbor.yml.tmpl harbor.yml

进入编辑:

vim harbor.yml

修改第5行的域名地址为docker.harbor.com,修改17-18行的证书和密钥。上面的端口我就不改了,默认使用80和443,根据自己的情况。

部署Harbor容器仓库,给镜像文件一个家

修改34行的密码,也就是admin账户登录的密码。修改47行的存储卷地址,我这里修改为/opt/docker/harbor/data路径下,方便统一管理。

部署Harbor容器仓库,给镜像文件一个家最后,保存退出:

esc
:
x

3.安装

开始准备和安装,其实这里也需要在线拉取镜像,并不是完全离线的。

./prepare && ./install.sh

部署Harbor容器仓库,给镜像文件一个家

耐心等待,等待程序跑完,就像下面这样,我们就可以使用网页登录了。

部署Harbor容器仓库,给镜像文件一个家

4.网页登录

用admin/你设置的密码 登录,比如我使用的默认密码:Harbor12345

部署Harbor容器仓库,给镜像文件一个家

可能会提示证书问题,跳过即可,这样就能成功登录了。

部署Harbor容器仓库,给镜像文件一个家

4.命令行登录

试试命令行方式,这里会报一个常见的错误:

docker login -u admin docker.harbor.com
部署Harbor容器仓库,给镜像文件一个家

解决方式如下:

vim  /usr/lib/systemd/system/docker.service

将原来的注释掉,修改为以下。如果你没有使用域名方式,则修改为自己的ip地址和端口。

ExecStart=/usr/bin/dockerd --insecure-registry https://docker.harbor.com
部署Harbor容器仓库,给镜像文件一个家

重启docker生效:

systemctl daemon-reload && systemctl restart docker.service 

再次登录便能成功。注:客户端不需要修改此配置!部署Harbor容器仓库,给镜像文件一个家

往期推荐:

  1. Ubuntu安装找不到硬盘,屏幕显示花屏?

  2. ceph-ansible图形化方式部署分布式存储

  3. 以最低的成本快速搭建公私兼备的网盘系统,带离线下载功能



文章最后,给大家准备了8T的电子书大礼包,包含计算机基础类、编程类、人工智能、前端和大数据等等,回复 「1024」获取!

原文始发于微信公众号(运维贼船):部署Harbor容器仓库,给镜像文件一个家

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/177406.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!