用 Dockerfile 便捷构建运行组件

Rainbond平台支持直接通过Dockerfile构建并运行镜像,操作流程简单,方便进行持续迭代。

操作流程分为以下几步:

  1. Github上创建Dockerfile项目,Demo项目

    create-repository

    Dockerfile内容

    1. ARG VERSION=1.15.0
    2. FROM nginx:${VERSION}-alpine
    3. COPY index.html /usr/share/nginx/html/
    4. VOLUME /data
    5. EXPOSE 80
  2. 通过Rainbond平台的源码构建功能选择项目进行构建

    create-demo

  3. 验证镜像运行效果

    running

    nginx-page

其中有以下几点需要注意:

  1. Rainbond平台进行源码构建时是通过不同类型代码的个性化文件进行语言类型识别的,所以在项目指定目录下必须存在Dockerfile文件
  2. 构建过程相当于在项目指定目录(默认为/目录)执行docker build -t image:tag .操作,所以在Dockerfile中使用COPYADD等模块时需要注意相对路径的选择
  3. 需要指定镜像的守护进程,如果不指定守护进程在镜像启动命令运行完成后就会自动退出然后重新启动,构建好的组件可能会处于运行异常的状态中

相对于普通Docker环境的优点

对于需要不断调整Dockerfile的用户来说构建过程更加简单,通过参考配置组件自动构建部署可以借助GithubWebhook实现代码修改的同时完成镜像的更新操作。