Bladeren bron

Add docker-compose.yml

liwenhe1993 5 jaren geleden
bovenliggende
commit
f1d8c15148
1 gewijzigde bestanden met toevoegingen van 253 en 0 verwijderingen
  1. 253 0
      docker-compose/docker-compose.yml

+ 253 - 0
docker-compose/docker-compose.yml

@@ -0,0 +1,253 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+version: "3"
+
+networks:
+  dolphinscheduler-postgresql:
+    driver: bridge
+  dolphinscheduler-zookeeper:
+    driver: bridge
+  dolphinscheduler-api:
+    driver: bridge
+  dolphinscheduler-frontend:
+    driver: bridge
+  dolphinscheduler-alert:
+    driver: bridge
+  dolphinscheduler-master:
+    driver: bridge
+  dolphinscheduler-worker:
+    driver: bridge
+
+volumes:
+  dolphinscheduler-postgresql:
+  dolphinscheduler-zookeeper:
+  dolphinscheduler-api:
+  dolphinscheduler-frontend:
+  dolphinscheduler-alert:
+  dolphinscheduler-master:
+  dolphinscheduler-worker-data:
+  dolphinscheduler-worker-logs:
+  dolphinscheduler-worker-task-env:
+
+services:
+
+  dolphinscheduler-postgresql:
+    image: bitnami/postgresql:latest
+    container_name: dolphinscheduler-postgresql
+    ports:
+    - 5432:5432
+    environment:
+      TZ: Asia/Shanghai
+      POSTGRESQL_USERNAME: root
+      POSTGRESQL_PASSWORD: root
+      POSTGRESQL_DATABASE: dolphinscheduler
+    healthcheck:
+      test: ["CMD", "pg_isready", "-U", "${POSTGRESQL_USERNAME}", "-d", "{POSTGRESQL_PASSWORD}", "-h", "localhost", "5432"]
+      interval: 30s
+      timeout: 5s
+      retries: 3
+      # start_period: 30s
+    volumes: 
+    - dolphinscheduler-postgresql:/bitnami/postgresql
+    networks:
+    - dolphinscheduler-postgresql
+
+  dolphinscheduler-zookeeper:
+    image: bitnami/zookeeper:latest
+    container_name: dolphinscheduler-zookeeper
+    ports:
+    - 2181:2181
+    environment:
+      TZ: Asia/Shanghai
+      ALLOW_ANONYMOUS_LOGIN: "yes"
+    healthcheck:
+      test: ["CMD-SHELL", "nc -z localhost 2181"]
+      interval: 30s
+      timeout: 5s
+      retries: 3
+      # start_period: 30s
+    volumes:
+    - dolphinscheduler-zookeeper:/bitnami/zookeeper
+    networks:
+    - dolphinscheduler-zookeeper
+
+  dolphinscheduler-api:
+    image: registry.cn-qingdao.aliyuncs.com/sxyj/dolphinscheduler:1.2.1
+    container_name: dolphinscheduler-api
+    command: ["api-server"]
+    ports:
+    - 12345:12345
+    environment:
+      TZ: Asia/Shanghai
+      POSTGRESQL_HOST: dolphinscheduler-postgresql
+      POSTGRESQL_PORT: 5432
+      POSTGRESQL_USERNAME: root
+      POSTGRESQL_PASSWORD: root
+      POSTGRESQL_DATABASE: dolphinscheduler
+      ZOOKEEPER_QUORUM: dolphinscheduler-zookeeper:2181
+    healthcheck:
+      test: ["CMD-SHELL", "curl -f http://localhost:12345"]
+      interval: 30s
+      timeout: 5s
+      retries: 3
+      # start_period: 30s
+    depends_on:
+    - dolphinscheduler-postgresql
+    - dolphinscheduler-zookeeper
+    volumes:
+    - dolphinscheduler-api:/opt/dolphinscheduler/logs
+    networks: 
+    - dolphinscheduler-api
+    - dolphinscheduler-postgresql
+    - dolphinscheduler-zookeeper
+
+  dolphinscheduler-frontend:
+    image: registry.cn-qingdao.aliyuncs.com/sxyj/dolphinscheduler:1.2.1
+    container_name: dolphinscheduler-frontend
+    command: ["frontend"]
+    ports:
+    - 8888:8888
+    environment:
+      TZ: Asia/Shanghai
+      FRONTEND_API_SERVER_HOST: dolphinscheduler-api
+      FRONTEND_API_SERVER_PORT: 12345
+    healthcheck:
+      test: ["CMD-SHELL", "curl -f http://localhost:8888"]
+      interval: 30s
+      timeout: 5s
+      retries: 3
+      # start_period: 30s
+    depends_on:
+    - dolphinscheduler-api
+    volumes:
+    - dolphinscheduler-frontend:/var/log/nginx
+    networks:
+    - dolphinscheduler-api
+
+  dolphinscheduler-alert:
+    image: registry.cn-qingdao.aliyuncs.com/sxyj/dolphinscheduler:1.2.1
+    container_name: dolphinscheduler-alert
+    command: ["alert-server"]
+    environment:
+      TZ: Asia/Shanghai
+      XLS_FILE_PATH: "/tmp/xls"
+      MAIL_SERVER_HOST: ""
+      MAIL_SERVER_PORT: ""
+      MAIL_SENDER: ""
+      MAIL_USER: ""
+      MAIL_PASSWD: ""
+      MAIL_SMTP_STARTTLS_ENABLE: "false"
+      MAIL_SMTP_SSL_ENABLE: "false"
+      MAIL_SMTP_SSL_TRUST: ""
+      ENTERPRISE_WECHAT_ENABLE: "false"
+      ENTERPRISE_WECHAT_CORP_ID: ""
+      ENTERPRISE_WECHAT_SECRET: ""
+      ENTERPRISE_WECHAT_AGENT_ID: ""
+      ENTERPRISE_WECHAT_USERS: ""
+      POSTGRESQL_HOST: dolphinscheduler-postgresql
+      POSTGRESQL_PORT: 5432
+      POSTGRESQL_USERNAME: root
+      POSTGRESQL_PASSWORD: root
+      POSTGRESQL_DATABASE: dolphinscheduler
+    healthcheck:
+      test: ["CMD", "/root/checkpoint.sh", "AlertServer"]
+      interval: 30s
+      timeout: 5s
+      retries: 3
+      # start_period: 30s
+    depends_on:
+    - dolphinscheduler-postgresql
+    volumes: 
+    - dolphinscheduler-alert:/opt/dolphinscheduler/logs
+    networks: 
+    - dolphinscheduler-alert
+    - dolphinscheduler-postgresql
+
+  dolphinscheduler-master:
+    image: registry.cn-qingdao.aliyuncs.com/sxyj/dolphinscheduler:1.2.1
+    container_name: dolphinscheduler-master
+    command: ["master-server"]
+    ports: 
+    - 5678:5678
+    environment: 
+      TZ: Asia/Shanghai
+      MASTER_EXEC_THREADS: "100"
+      MASTER_EXEC_TASK_NUM: "20"
+      MASTER_HEARTBEAT_INTERVAL: "10"
+      MASTER_TASK_COMMIT_RETRYTIMES: "5"
+      MASTER_TASK_COMMIT_INTERVAL: "1000"
+      MASTER_MAX_CPULOAD_AVG: "100"
+      MASTER_RESERVED_MEMORY: "0.1"
+      POSTGRESQL_HOST: dolphinscheduler-postgresql
+      POSTGRESQL_PORT: 5432
+      POSTGRESQL_USERNAME: root
+      POSTGRESQL_PASSWORD: root
+      POSTGRESQL_DATABASE: dolphinscheduler
+      ZOOKEEPER_QUORUM: dolphinscheduler-zookeeper:2181
+    healthcheck:
+      test: ["CMD", "/root/checkpoint.sh", "MasterServer"]
+      interval: 30s
+      timeout: 5s
+      retries: 3
+      # start_period: 30s
+    depends_on: 
+    - dolphinscheduler-postgresql
+    - dolphinscheduler-zookeeper
+    volumes: 
+    - dolphinscheduler-master:/opt/dolphinscheduler/logs
+    networks: 
+    - dolphinscheduler-postgresql
+    - dolphinscheduler-zookeeper
+
+  dolphinscheduler-worker:
+    image: registry.cn-qingdao.aliyuncs.com/sxyj/dolphinscheduler:1.2.1
+    container_name: dolphinscheduler-worker
+    command: ["worker-server"]
+    ports: 
+    - 1234:1234
+    - 50051:50051
+    environment: 
+      TZ: Asia/Shanghai
+      WORKER_EXEC_THREADS: "100"
+      WORKER_HEARTBEAT_INTERVAL: "10"
+      WORKER_FETCH_TASK_NUM: "3"
+      WORKER_MAX_CPULOAD_AVG: "100"
+      WORKER_RESERVED_MEMORY: "0.1"
+      WORKER_GROUP: "default"
+      DOLPHINSCHEDULER_DATA_BASEDIR_PATH: "/tmp/dolphinscheduler"
+      POSTGRESQL_HOST: dolphinscheduler-postgresql
+      POSTGRESQL_PORT: 5432
+      POSTGRESQL_USERNAME: root
+      POSTGRESQL_PASSWORD: root
+      POSTGRESQL_DATABASE: dolphinscheduler
+      ZOOKEEPER_QUORUM: dolphinscheduler-zookeeper:2181
+    healthcheck:
+      test: ["CMD", "/root/checkpoint.sh", "WorkerServer"]
+      interval: 30s
+      timeout: 5s
+      retries: 3
+      # start_period: 30s
+    depends_on: 
+    - dolphinscheduler-postgresql
+    - dolphinscheduler-zookeeper
+    volumes: 
+    - dolphinscheduler-worker-data:/tmp/dolphinscheduler
+    - dolphinscheduler-worker-logs:/opt/dolphinscheduler/logs
+    - dolphinscheduler-worker-task-env:/opt/dolphinscheduler/conf/env/
+    networks: 
+    - dolphinscheduler-postgresql
+    - dolphinscheduler-zookeeper