# mail@dongguochao.com # llitfkitfk@gmail.com version: "3" services: # frontend nginx: # image: nginx:stable-alpine build: # will use image from the frontend repo in the future context: docker/frontend volumes: - ./docker/nginx/conf.d:/etc/nginx/conf.d ports: - 38080:38080 - 38081:38081 # backend delos: # build from ./Dockerfile build: . # build from images # you can find last tag from https://hub.docker.com/r/blackdog1987/rap2-delos # image: blackdog1987/rap2-delos:2.6.aa3be03 environment: # if you have your own mysql, config it here, and disable the 'mysql' config blow - MYSQL_URL=mysql # links will maintain /etc/hosts, just use 'container_name' - MYSQL_PORT=3306 - MYSQL_USERNAME=root - MYSQL_PASSWD= - MYSQL_SCHEMA=rap2 # redis config - REDIS_URL=redis - REDIS_PORT=6379 # production / development - NODE_ENV=production ###### 'sleep 30 && node scripts/init' will drop the tables ###### RUN ONLY ONCE THEN REMOVE 'sleep 30 && node scripts/init' command: /bin/sh -c 'node dispatch.js' # init the databases # command: sleep 30 && node scripts/init && node dispatch.js # without init # command: node dispatch.js depends_on: - redis - mysql redis: image: redis:4 # disable this if you have your own mysql mysql: image: mysql:5.7 # expose 33306 to client (navicat) #ports: # - 33306:3306 volumes: # change './docker/mysql/volume' to your own path # WARNING: without this line, your data will be lost. - "./docker/mysql/volume:/var/lib/mysql" command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --init-connect='SET NAMES utf8mb4;' --innodb-flush-log-at-trx-commit=0 environment: MYSQL_ALLOW_EMPTY_PASSWORD: "true" MYSQL_DATABASE: "rap2" MYSQL_USER: "root" MYSQL_PASSWORD: ""