DockerCompose支持规范

    用户提供可以正常运行的 DockerCompose 定义文件,Rainbond 将解析此文件并分别读取内部的所有组件的关键配置,包括:组件名称、镜像名称及仓库地址、环境变量、依赖关系(启动顺序)、持久化存储、组件端口。基于这些属性创建 Rainbond 组件抽象,再通过 Rainbond 的组件抽象模型的管理运行机制部署于底层的 Kubernetes 集群。从而实现 DockerCompose 到 Kubernetes 的转化。

    其中较为关键的是依赖关系、DockerCompose 中组件之间建立依赖关系使用的是 Docker 的同网络空间原理,结合 Docker 默认的 DNS 组件对依赖组件别名进行域名解析从而实现组件间通信。这种模式在 Kubernetes 场景中无法直接实现,但是基于 Rainbond 的默认 ServiceMesh 机制,就实现了一直的效果,Rainbond dns 组件将解析组件别名到, 组件通过别名访问其他组件时,实际就是访问组件本地的代理,本地的 ServiceMesh Sidecar 容器完成组件动态发现和负载均衡。 从效果上看与单机运行的 DockerCompose 是一致的,但是实际上整个应用已经是在集群环境下分布式运行,每一个组件都可以运行多个实例。

    创建方式及注意事项

    有以下几点注意事项

    1. 如果 DockerCompose 配置中设置有需要读取环境变量的信息,请先手动完成更改。Rainbond 不支持动态基于环境变量渲染 DockerCompose 配置。
    2. 确保 yaml 格式的 DockerCompose 配置正常,否则无法通过检测。
    3. 5.1.3 及以后版本中 Rainbond 只会从 DockerCompose 配置中读取属性,不再从镜像从解析属性。尽量将有用的属性信息(环境变量、端口、存储)显式配置。

    镜像仓库账号密码设置

    • 整体设置

    在 DockerCompose 表单设置中可以添加镜像仓库账号密码,此设置将在此 DockerCompose 中的所有镜像生效,如果个别镜像不需要账号密码或账号不同,请使用分别设置方式。

    设置账号

    设置密码