如何在Ubuntu服务器18.04上安装Harbor

导读 摘要 如果您希望托管自己的Docker注册表,您需要考虑的一件事是在一定程度上信任它。有些应用程序能够处理Docker内容信任,有些则不能。使...
摘要 如果您希望托管自己的Docker注册表,您需要考虑的一件事是在一定程度上信任它。有些应用程序能够处理Docker内容信任,有些则不能。使用Content Trust,您可以对Docker图像进行签名,这样它们就可以被信任。但如何?一种方法是部署港口。Harbor是一个开源的可信云本地注册表项目,它存储、签名和扫描要存储在本地注册表中的内容。参见:混合云:IT专业人员指南(TechRepubli

如果您希望托管自己的Docker注册表,您需要考虑的一件事是在一定程度上信任它。有些应用程序能够处理Docker内容信任,有些则不能。使用Content Trust,您可以对Docker图像进行签名,这样它们就可以被信任。但如何?一种方法是部署港口。

Harbor是一个开源的可信云本地注册表项目,它存储、签名和扫描要存储在本地注册表中的内容。

参见:混合云:IT专业人员指南(TechRepublic下载)我将带你经历在Ubuntu服务器18.04上安装Harbor的过程。成功的安装并没有很好的文档记录,但是我已经为您解决了这个问题。

成功安装只需要:

说到这里,让我们来安装。

首先要做的是安装docker和docker-compose。Docker可以通过以下命令从标准库中安装:

安装Docker后,需要使用以下命令将用户添加到Docker组:

注销并重新登录,以便更改生效。

处理好Docker后,使用以下命令安装Docker -compose:

接下来我们必须安装NGINX。如果你的Ubuntu服务器实例仍然安装了Apache,使用以下命令停止并禁用它:

使用以下命令安装NGINX:

启动和启用NGINX与命令:

接下来我们需要下载Harbor离线安装与命令:

下载该文件后,用以下命令解压:

这将创建一个名为harbor的新目录。使用以下命令切换到该目录:

为了使Harbor正常工作,您需要将其设置为使用SSL。在生产环境中,必须使用来自受信任的证书颁发机构的证书。对于测试环境,您可以使用自签名证书。下面是生成自签名证书的步骤。

使用以下命令生成自签名证书:

使用以下命令生成签名请求:

注意:用您的服务器域或服务器IP地址替换上述IP地址。

使用以下命令为主题替代名称创建配置文件:

在该文件中,粘贴以下内容:

同样,将Harbor服务器的IP地址替换为192.168.1.75。

使用以下命令生成证书:

同样,将上面的IP地址替换为您的服务器域或服务器IP地址。

使用以下命令创建客户端证书:

使用以下命令将新生成的证书复制到适当的目录中:

请确保将上面的IP地址替换为您的Harbor服务器的IP地址。如果你发现/etc/docker/certd目录不存在,用命令创建:

您可能还必须以相同的方式创建IP地址子目录。

在运行安装之前,需要考虑一些配置。用以下命令打开配置文件:

在该文件中,您需要编辑以下选项:

还需要取消以下SSL行注释,确保编辑它们以反映以下更改:

确保将SSL证书的路径更改为:

保存并关闭该文件。

现在运行安装程序脚本。我们将安装有克莱尔支持的Harbor。没有安装Clair支持,您将无法扫描图像的漏洞,这是使用Harbor的部分原因。从harbor目录中发出以下命令:

安装将需要一些时间,但应完成无错误。

安装完成后,您可以将web浏览器指向https://SERVER_IP(其中SERVER_IP是您的Harbor服务器的IP地址)。您将看到一个登录屏幕,您将使用admin作为用户,并使用为harbor_admin_password配置的密码。登录之后,就可以开始使用Harbor注册表了。

我在安装过程中遇到了一些问题——我已经通过上面的说明解决了大部分问题。但是,如果您使用的Ubuntu服务器实例已经安装了docker和部署的容器,那么您可能会收到一个警告,说明需要的端口正在使用。如果是这种情况,你可以停止和删除所有运行的容器与以下命令:

停止并移除这些现有的容器后,再次运行安装程序,以查看它是否完全没有问题。

下一个警告是关于自签名证书的。如果您选择这样做,那么在生成证书之前,您需要修改/etc/ssl/openssl.cnf文件。用以下命令打开该文件进行编辑:

在该文件中,找到[v3_ca]部分并添加以下行:

请确保将IP地址更改为您的Harbor服务器的IP地址。保存并关闭该文件,然后生成自签名证书。

最后,请注意以下错误时,试图登录到您的新注册表:

你可以通过以下命令安装两个应用程序来解决这个问题:

现在可以开始使用自己的本地docker注册表了——该注册表提供对内容的安全性和漏洞分析。

关于AWS、Microsoft Azure、谷歌云平台、Docker、SaaS、IaaS、云安全、容器、公共云、混合云、行业云等的最新知识库。星期一交付