Skip to content

improve all apps refer to new template #380

@qiaofeng1227

Description

@qiaofeng1227

完成docker-compose.yml的改造, 流程:

  1. 准备虚拟机或者云服务器
  2. git clone https://github.com/Websoft9/docker-library.git
  3. [改造docker-compose.yml以及.env文件,改造内容参照
  4. 测试修改的app是否能正常运行
  • 所有容器日志是否正常
  • 如果是web应用,画面是否打开,能够通过.env文件的用户名和密码正常登陆
  • 如果是DB或者MQ,需要测连接是否正常
  1. 提交pull_request
  2. websoft9 审核(如审核不通过,回到3再次改造)

update content(改造内容)

docker-compose.yml 【模板】

  • W9_HTTP_PORT->W9_HTTP_PORT_SET(如果有其他外网端口也尾部加上_SET)
  • Web应用的数据库外部端口全部删除
  • 主容器名$W9_NAME变成$W9_ID,其他$W9_NAME环境变量都得变成$W9_ID
  • 主数据库容器名由id和数据库类型决定:如$W9_ID-mysql,$W9_ID-mariadb,$W9_ID-mongodb
  • 主容器的镜像地址需要用$W9_REPO替换
  • 所有的容器都要追加 .env 声明
  wordpress:
    ports:
      - $W9_HTTP_PORT_SET:80
    env_file: .env

  mariadb:
    image: mariadb:10.4
    container_name: $W9_ID-mariadb
    env_file: .env

.env 【模板】

  • 所有带_SET结尾的变量是容器的外网端口
  • web应用必须定义W9_HTTP_PORT_SET
  • 如果主容器还有多个外网端口,如SSH端口,API端口,都需要定义成变量,如W9_SSH_PORT
  • 单独数据库做应用时,W9_DB_PORT_SET就是数据库对外端口
  • 【可修改item】放在最前面, 其中W9_REPO是主镜像的地址
W9_REPO=docker.io/bitnami/magento
W9_DIST=community
W9_VERSION=latest

POWER_PASSWORD=EGProfkuyL3ogd
  • 【不可修改item】需要使用下列注释括起来
#### --  Not allowed to edit below environments when recreate app based on existing data  -- ####
W9_HTTP_PORT_SET=9001
W9_HTTP_PORT=80
W9_URL=Internet_IP:$W9_HTTP_PORT_SET
W9_DB_EXPOSE="mysql"
#### -------------------------------------------------------------------------------------------------- ####

  • 非W9开头的容器自身的环境变量放在.env文件的最后
  • 当是web应用时,需要定义W9_HTTP_PORT,它对应主应用的内部端口
  • 删除W9_DB_PORT 和 W9_MQ_PORT

variables.json 【模板】

  • version -> edition(contentful sync need to edit), 一般情况下只有社区版(community),版本号参照.env里面的版本
  "edition": [
    {
      "dist": "community",
      "version": [
        "3.7",
        "latest"
      ]
    }
  ]

Metadata

Metadata

Labels

featureType label, New feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions