应用配置

应用配置的默认配置文件是工作目录下的 var/db/openedge/application.yml,配置解读如下:

version: 应用版本
services: 应用的服务列表
  - name: [必须]服务名称,在服务列表中必须唯一
    image: [必须]服务入口。Docker容器模式下表示服务镜像;Naitve进程模式下表示服务运行包所在位置
    replica: 默认为0,服务副本数,表示启动的服务实例数。通常服务只需启动一个。函数运行时服务一般设置为0,不由主程序启动,而是由函数管理服务来动态启动实例
    mounts: 存储卷映射列表
      - name: [必须]存储卷名称,对应存储卷列表中的一个
        path: [必须]存储卷映射到容器中的路径
        readonly: 默认值:false,存储卷是否只读
    ports: Docker容器模式下暴露的端口,例如:
      - 0.0.0.0:1883:1883 # 如果不想暴露给宿主机外的设备访问,可以改成127.0.0.1:1883:1883
      - 0.0.0.0:1884:1884/tcp
      - 8080:8080/tcp
      - 9884:8884
    devices: Docker容器模式下的设备映射,例如:
      - /dev/video0
      - /dev/sda:/dev/xvdc:r
    args: 服务实例启动参数,例如:
      - '-c'
      - 'conf/conf.yml'
    env: 服务实例环境变量,例如:
      version: v1
    restart: 服务实例重启策略配置项
      retry:
        max: 默认为空,表示总是重试,服务重启最大次数
      policy: 默认值:always,重启策略。no:不重启;always:总是重启;on-failure:服务异常退出就重启
      backoff:
        min: 默认值:1s,重启最小间隔时间
        max: 默认值:5m,重启最大间隔时间
        factor: 默认值:2,重启间隔增大倍数
    resources: Docker容器模式下的服务实例资源限制配置项
      cpu:
        cpus: 服务实例可用的CPU比例,例如:1.5,表示可以用1.5个CPU内核
        setcpus: 服务实例可用的CPU内核,例如:0-2,表示可以使用第0到2个CPU内核;0,表示可以使用第0个CPU内核;1,表示可以使用第1个CPU内核
      memory:
        limit: 服务实例可用的内存,例如:500m,表示可以用500兆内存
        swap: 服务实例可用的交换空间,例如:1g,表示可以用1G内存
      pids:
        limit: 服务实例可创建的进程数
volumes: 应用的存储卷列表
  - name: [必须]存储卷名称,在存储卷列表中唯一
    path: [必须]存储卷在宿主机上的路径,相对于主程序的工作目录而言