Skip to content

创建 docker-compose.yml 文件

docker 环境安装好以后,需要使用 docker-compose 编排镜像启动容器。

复制下面脚本内容,创建 docker-compose.yml

如果贵司有自己的镜像地址,可以将image地址替换为自己的,除此以外,其它配置不要修改。

yaml
services:
  marsview-editor:
    image: registry.cn-hangzhou.aliyuncs.com/marsview/marsview-editor:latest
    container_name: marsview-editor
    restart: unless-stopped
    env_file:
      - env/editor.env
    environment:
      VIRTUAL_PORT: 80
      MODEL_SERVER_URL: http://marsview-model-server:7001
      NODE_SERVER_URL: http://marsview-editor-server:3001
      ADMIN_SERVER_URL: http://marsview-admin-server:3002
      WORKFLOW_FRONT_URL: http://marsview-workflow:80
    depends_on:
      - marsview-workflow
      - marsview-editor-server
    networks:
      app_subnet:
        ipv4_address: 172.16.1.23
    ports:
      - '7030:80'

  marsview-admin:
    image: registry.cn-hangzhou.aliyuncs.com/marsview/marsview-admin:latest
    container_name: marsview-admin
    restart: unless-stopped
    env_file:
      - env/admin.env
    environment:
      VIRTUAL_PORT: 80
      MODEL_SERVER_URL: http://marsview-model-server:7001
      NODE_SERVER_URL: http://marsview-editor-server:3001
      ADMIN_SERVER_URL: http://marsview-admin-server:3002
      WORKFLOW_FRONT_URL: http://marsview-workflow:80
    depends_on:
      - marsview-workflow
      - marsview-editor-server
      - marsview-admin-server
    ports:
      - '7031:80'

    networks:
      app_subnet:
        ipv4_address: 172.16.1.24

  marsview-workflow:
    image: registry.cn-hangzhou.aliyuncs.com/marsview/marsview-workflow-web
    container_name: marsview-workflow
    restart: unless-stopped
    env_file:
      - env/workflow.env
    environment:
      VIRTUAL_PORT: 80
      SERVER_URL: http://marsview-model-server:7001
    depends_on:
      - marsview-model-server
    networks:
      app_subnet:
        ipv4_address: 172.16.1.25

  marsview-docs:
    image: registry.cn-hangzhou.aliyuncs.com/marsview/marsview-docs
    container_name: marsview-docs
    restart: unless-stopped
    env_file:
      - env/docs.env
    environment:
      VIRTUAL_PORT: 80
    networks:
      app_subnet:
        ipv4_address: 172.16.1.30
    ports:
      - '7032:80'

  marsview-editor-server:
    image: registry.cn-hangzhou.aliyuncs.com/marsview/marsview-editor-server:latest
    container_name: marsview-editor-server
    restart: unless-stopped
    env_file:
      - env/editor.server.env
    environment:
      VIRTUAL_PORT: 3001
      DATABASE_HOST: db
      DATABASE_PORT: 3306
      DATABASE_USER: root
      DATABASE_PASSWORD: ${DB_ROOT_PASSWORD}
      DATABASE_NAME: ${MAIN_DB_NAME}
      JWT_SECRET: ${JWT_SECRET}
      MODEL_DATABASE_NAME: ${MODEL_DB_NAME}
      TZ: Asia/Shanghai
    depends_on:
      - db

    networks:
      app_subnet:
        ipv4_address: 172.16.1.26

  marsview-admin-server:
    image: registry.cn-hangzhou.aliyuncs.com/marsview/marsview-admin-server:latest
    container_name: marsview-admin-server
    restart: unless-stopped
    env_file:
      - env/admin.server.env
    environment:
      VIRTUAL_PORT: 3002
      MODEL_SERVER_URL: http://marsview-model-server:7001
      NODE_SERVER_URL: http://marsview-editor-server:3001
      WORKFLOW_FRONT_URL: http://marsview-workflow:80
      DB_HOST: db
      DB_PORT: 3306
      DB_USERNAME: root
      DB_PASSWORD: ${DB_ROOT_PASSWORD}
      DB_NAME: ${MAIN_DB_NAME}
      JWT_SECRET: ${JWT_SECRET}
    volumes:
      - /home/user/pm2-logs:$HOME/.pm2/logs
    depends_on:
      - db
    networks:
      app_subnet:
        ipv4_address: 172.16.1.28

  marsview-model-server:
    image: registry.cn-hangzhou.aliyuncs.com/marsview/marsview-model-server:latest
    container_name: marsview-model-server
    restart: unless-stopped
    env_file:
      - env/model.server.env
    environment:
      VIRTUAL_PORT: 7001
      DB_HOST: db
      DB_PORT: 3306
      DB_USERNAME: root
      DB_PASSWORD: ${DB_ROOT_PASSWORD}
      DB_NAME: ${MODEL_DB_NAME}
      JWT_SECRET: ${JWT_SECRET}
    volumes:
      - /home/user/pm2-logs:$HOME/.pm2/logs
    depends_on:
      - db
    networks:
      app_subnet:
        ipv4_address: 172.16.1.29

  db:
    image: registry.cn-hangzhou.aliyuncs.com/dbfu/mysql:latest
    container_name: db
    restart: unless-stopped
    volumes:
      - /data/mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      TZ: Asia/Shanghai
    ports:
      - '3306:3306'
    networks:
      app_subnet:
        ipv4_address: 172.16.1.27

volumes:
  conf:
  vhost:
  html:
  certs:
  acme:

networks:
  app_subnet:
    external: true

注意,上面的配置,不要随意修改,直接复制,然后创建 docker-compose.yml 文件,保存即可。

Released under the MIT License.