Habor-轻量化容器服务自动部署工具
# 1 需求分析
2022年应公司部门发展需要,开始着手建设性能测试工具平台,我们的主力开发语言依然是Python,既然使用Python,就面临一个部署的老大难问题。
在公司大力推广FX平台进行容器化改造的背景下,我们的测试工具应向公司技术栈看齐,使用Docker技术进行发布和部署。
选择Docker的优势够多,虽然在实际应用时有一些小困难,但与其带来的收益相比,不值一提。
# 1.1 Docker技术发布和部署的优势
- Docker的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现“这段代码在我机器上没问题啊”这类问题;——一致的运行环境
- 可以做到秒级、甚至毫秒级的启动时间。大大的节约了开发、测试、部署的时间。——更快速的启动时间
- 避免公用的服务器,资源会容易受到其他用户的影响。——隔离性
- 可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。——迁移方便
- 使用Docker可以通过定制应用镜像来实现持续集成、持续交付、部署。——持续交付和部署
关于Docker的更多介绍可以查看 《Hello Docker》 (opens new window)
# 1.2 一点点小困难
- 不是所有服务器都有Docker运行环境;
- 没有外网的离线环境如何简单快速的安装Docker服务?
- 不是所有服务器都能安装Docker,对内核版本有要求,Linux内核版本要大于等于3.10;
我认为随着时间的推移,老版本的Linux系统会逐步被淘汰升级,Linux内核版本低这个问题会自然消失。
离线环境如何安装Docker服务,我们可以给出优雅的解决方案。
# 2 Harbor的目标
Harbor的目标是消灭冗长的安装文档,力求安装文档只有一页纸的内容。
# 2.1 一分钟部署Docker服务
Docker是可以二进制部署的,但部署操作步骤较多,可以查看此文了解具体过程:《二进制文件安装Docker指南》 (opens new window)
此外我们还要安装Docker-compose服务用于容器编排。
阅读安装文档,手工进行这些操作预估耗时至少要15分钟,我们的目标,1分钟,2个命令完成安装docker和docker-compose服务的安装。
# 2.2 五分钟部署工具应用【开发设计中】
通过简单的配置文件,只需配置下部署环境的IP以及工具服务的端口,1个命令即可启动所需的测试工具服务。
# 3 使用文档
# 3.1 解压Harbor
# 3.2 命令概览
(FUDE-1.3.0@AS7U4.amd64)[root@test Harbor1.0.0]# ./harbor
██╗ ██╗ █████╗ ██████╗ ██████╗ ██████╗
██║ ██║██╔══██╗██╔══██╗██╔═══██╗██╔══██╗
███████║███████║██████╔╝██║ ██║██████╔╝
██╔══██║██╔══██║██╔══██╗██║ ██║██╔══██╗
██║ ██║██║ ██║██████╔╝╚██████╔╝██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═╝ ╚═╝
Harbor,中文名为“哈勃”,意为港湾,高效部署docker服务以及容器应用.
Usage:
harbor [command]
Available Commands:
app 快速部署容器应用.
completion Generate the autocompletion script for the specified shell
env 环境检测和安装配置docker服务
help Help about any command
Flags:
-h, --help help for harbor
-v, --version version for harbor
Use "harbor [command] --help" for more information about a command.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 3.2 Docker环境检查和部署
(FUDE-1.3.0@AS7U4.amd64)[root@test Harbor1.0.0]# ./harbor env --help
检测当前服务器是否有安装docker以及docker-compose服务,支持安装配置docker服务.
Usage:
harbor env [flags]
Examples:
$ harbor env --check # 检查docker环境
$ harbor env --install # 安装docker服务
Flags:
-c, --check 检查docker环境
-h, --help help for env
-i, --install 安装docker服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 3.2.1 检查docker环境
(FUDE-1.3.0@AS7U4.amd64)[root@test Harbor1.0.0]# ./harbor env --check
WARNING[2022-01-26 16:23:40] 未安装docker服务
INFO[2022-01-26 16:23:40] 检查系统是否具备部署docker服务的条件
INFO[2022-01-26 16:23:40] 请执行如下命令安装docker和docker-compose服务
harbor env --install
1
2
3
4
5
2
3
4
5
若未安装请根据提示执行安装命令harbor env --install
若执行结果如下,则无需部署Docker
(FUDE-1.3.0@AS7U4.amd64)[root@test Harbor1.0.0]# ./harbor env --check
INFO[2022-01-26 17:06:59] 已安装docker服务,检查通过
INFO[2022-01-26 17:06:59] 已安装docker-compose服务,检查通过
1
2
3
2
3
# 3.2.2 安装docker服务
(FUDE-1.3.0@AS7U4.amd64)[root@test Harbor1.0.0]# ./harbor env --install
INFO[2022-01-26 16:23:44] 安装docker服务中,预计耗时1分钟,请耐心等待...
INFO[2022-01-26 16:24:03] 已安装docker服务,检查通过
INFO[2022-01-26 16:24:03] 安装docker服务成功!
INFO[2022-01-26 16:24:04] 已安装docker-compose服务,检查通过
INFO[2022-01-26 16:24:04] 安装docker-compose服务成功!
1
2
3
4
5
6
2
3
4
5
6
上次更新: 7/26/2026, 3:17:15 PM