Dockerfile
概述
代码主目录下有 Dockerfile 文件,Rainbond 会识别代码语言类型为 Dockerfile。
Rainbond 支持灵活的 Dockerfile 部署方式:
- 支持多个 Dockerfile 文件(如 Dockerfile.prd、Dockerfile.test)
- 支持多级目录下的 Dockerfile(最多二级目录)
- 支持指定不同环境的 Dockerfile 进行构建
编译原理
识别为 Dockerfile 类型的源码将使用类似于 docker build -t xxx . 的命令进行镜像构建。
默认构建命令:
docker build -t xxx .
指定 Dockerfile 文件构建:
docker build -t xxx -f Dockerfile.prd .
多级目录 Dockerfile 构建(在项目根目录执行):
docker build -t xxx -f test/test/Dockerfile.test .
构建过程支持:
- Docker multi-stage(多阶段构建)
- ARG 参数指定
- 自定义 Dockerfile 路径(最多支持二级目录)
Dockerfile 规范
Dockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。
Rainbond 在源码检测阶段会读取 Dockerfile 定义的如下参数:
| 参数类型 | 名称 | 说明 |
|---|---|---|
| ENV | 环境变量 | 识别为服务可设置的环境变量配置 |
| ARG | 构建参数 | 识别为构建可设置的参数配置 |
| EXPOSE |