
-
Rainbond文档中心
-
快速开始
-
快速入门
-
架构
-
部署服务组件
-
管理应用与服务组件
-
集群运维
-
常见场景最佳实践
- 在 Rainbond 部署 API-Gateway
- 基于 PinPoint 实现微服务无侵入的监控与链路追踪
- 整合 Git 仓库快速部署组件
- 日志对接 ELK 体系
- 滚动发布,灰度发布及蓝绿发布
- 基于 Rainbond 实现组件A/B测试
- 基于Rainbond实现一键上线/回滚
- 组件配置文件实践
- 日志收集对接到阿里云日志服务
- 为 JAVA 应用自定义监控
- 用 Dockerfile 便捷构建运行组件
- 使用 Statefulset 部署组件
- 部署Vue、React前端项目
- Vue、React项目如何调用后端接口
- 组件依赖端口冲突处理
- 部署自动初始化Schema的数据库
- 部署Spark Standalone集群
- 服务间通信,端口别名的使用
- 重新指定Gateway节点
- Spring Cloud 微服务部署在 Rainbond 的优势
- Spring Cloud 微服务与 Service Mesh 的融合
- Spring Cloud 微服务部署在 Rainbond 的案例
-
管理企业
- 更新记录
-
社区
-
快速开始
Dockerfile
编辑此页面
Dockerfile类型识别策略
代码主目录下有 Dockerfile
文件,Rainbond会识别代码语言类型为 Dockerfile ,此策略优先级最高,当代码同时符合其他语言类型识别策略时,依然以Dockerfile为主。
编译原理
识别为Dockerfile类型的源码将使用类似于 docker build -t xxx/xxx .
的命令进行镜像构建,因此此方式是灵活性最高的源码编译方式,理论上可以应用于所有开发语言的支持(如果Docker支持)。
构建过程支持 docker multi-stage(多阶段构建)和 ARG参数指定。
Dockerfile规范
Dockerfile 是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。
Rainbond在源码检测阶段会读取Dockerfile定义的如下参数:
参数类型 | 名称 | 说明 |
---|---|---|
ENV | 环境变量 | 识别为服务可设置的环境变量配置 |
ARG | 构建参数 | 识别为构建可设置的参数配置 |
EXPOSE | 暴露端口 | 识别为服务的端口配置 |
VOLUME | 持久化存储 | 识别为服务的共享持久化存储配置 |
Dockerfile的定义方式详见官方文档: https://docs.docker.com/engine/reference/builder/
在此给出Dockerfile编译部署Golang源码的用例:
FROM muninn/glide:alpine AS build-env
ADD . /go/src/app
WORKDIR /go/src/app
RUN glide install
RUN go build -v -o /go/src/app/app-server
FROM alpine
RUN apk add -U tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY --from=build-env /go/src/app/app-server /usr/local/bin/app-server
EXPOSE 80
CMD ["app-server"]
完整示例代码
您对当前文档有任何疑问或使用Rainbond过程中遇到问题,请通过以下方式联系我们