在当今云计算时代,容器化技术正逐渐成为软件开发和部署的主流方式。而Harbor作为一个开源的企业级Docker Registry管理工具,为用户提供了安全、可信赖的容器镜像存储和管理解决方案。然而,有时候我们面临的环境可能并不总是能够直接连接互联网,这时如何在离线环境下部署Harbor成了一个挑战。不过,别担心!本文将为您介绍如何在无网络环境下成功部署Harbor,让您的容器化之路更加顺畅。
离线部署docker
在部署Harbor之前,我们需要提前安装好docker环境,由于本环境模拟的是无法链接互联网,所以,安装docker的方式也是采用离线部署的方式。
我这里以下载「docker-18.06.3-ce的版本」为例,docker离线包[1]。
解压文件
把下载的压缩包解压到指定的目录下,解压出来的文件全部都是二进制文件。执行如下命令进行解压操作:
将docker注册为service
进入/etc/systemd/system/目录,并创建docker.service文件,并把下面的的内容复制到docker.service文件中。
给docker.service文件添加执行权限,执行如下命令:
启动服务
每次修改docker.service这个文件时都要重新加载下,执行下面命令执行:
执行如下命令启动docker:
配置开启自启动,执行如下命令:
验证docker是否启动成功
执行如下命令查看docker状态,显示active(running)表示启动成功。
执行如下命令,查看版本信息:
安装docker-compose
docker-compose下载地址[2],下载之后把它移到相应的目录下,并赋予执行的权限:
测试安装结果
查看docker-compose的对应版本:
部署Harbor
下载离线安装包
从这个harbor下载地址[3],下载对应的Harbor版本的软件。
解压安装包
把下载好的离线包解压到指定的目录下:
修改配置文件
拷贝模板文件为 harbor.yml:
编辑 harbor.yml 配置文件,hostname 是 harbor 对外暴露的访问地址,HTTP 服务对外暴露 8888端口。这里暂时先不配置 HTTPS,将 HTTPS 相关内容注释。
部署 Harbor
修改完配置文件后,只需要执行install.sh 脚本即可安装 Harbor:
查看 Harbor 组件运行状况:
登录页面
浏览器输入 http://10.91.74.240:8888 访问 Harbor 页面,用户名和密码为 harbor.yml 配置文件中默认设置的 admin,Harbor12345
推送镜像
从公网拉取一个pause:3.7 版本的镜像 ,打包导出并上传到内网机上:
编辑 /etc/docker/daemon.json,设置允许访问的 HTTP 仓库地址。
修改镜像 tag:
登录 Harbor:
推送镜像到 Harbor:
查看推送的镜像:
写到最后
至此,您已经成功在离线环境下部署了Harbor。无需网络,也能轻松部署Harbor!通过本文提供的离线安装攻略,您可以在任何环境中都能享受到Harbor的便利和安全性。愿本文能对您在容器化之路上的旅程有所帮助!
Reference
[1]docker离线包:https://download.docker.com/linux/static/stable/x86_64/
[2]docker-compose下载地址:https://github.com/docker/compose/releases/tag/v2.9.0
[3]harbor下载地址:https://github.com/goharbor/harbor/releases/download/v2.3.1/harbor-offline-installer-v2.3.1.tgz