version: '3.8' x-env: &env # db MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} services: app: image: zerorunner:latestss container_name: zerorunner_old_app hostname: zerorunner-old-container volumes: - ./backend/static:/app/static # 挂载静态文件 - ./backend/.env:/app/.env # 挂载配置文件 - ./backend/config.py:/app/config.py # 挂载配置文件 build: context: . dockerfile: zero-docker-file/Dockerfile-backend-build entrypoint: /app/start.sh command: "app ${BACKEND_PORT}" ports: # 端口映射,格式 宿主机端口:容器端口 - "8998:8998" restart: always networks: - zero_network celery-worker: container_name: zerorunner_old_celery_worker build: context: . dockerfile: zero-docker-file/Dockerfile-backend-build volumes: - ./backend/static:/app/static # 挂载静态文件 - ./backend/.env:/app/.env # 挂载配置文件 - ./backend/config.py:/app/config.py # 挂载配置文件 entrypoint: /app/start.sh command: "celery-worker" restart: always networks: - zero_network celery-beat: container_name: zerorunner_old_celery_beat build: context: . dockerfile: zero-docker-file/Dockerfile-backend-build volumes: - ./backend/static:/app/static # 挂载静态文件 - ./backend/.env:/app/.env # 挂载配置文件 - ./backend/config.py:/app/config.py # 挂载配置文件 entrypoint: /app/start.sh command: "celery-beat" restart: always networks: - zero_network # frontend-and-nginx: # # 前端打包 + 代理 # container_name: frontend_and_nginx # build: # context: . # dockerfile: zero-docker-file/Dockerfile-frontend-build # ports: # - "80:80" # - "443:443" # - "8888:8888" # depends_on: # - app # networks: # - zero_network # # db: # image: mysql:8.0.21 # container_name: docker_db # environment: # # 设置默认数据库和root默认密码,如果宿主机中/var/lib/mysql已经存在,这两个设置都不会生效 # <<: *env # volumes: # # - "/var/lib/mysql:/var/lib/mysql" # 挂载宿主机的mysql数据到docker中 # - ./backend/db_script/my.cnf:/etc/my.cnf # 配置文件挂载 # - /usr/local/mysql/data:/var/lib/mysql # 数据目录挂载 # - /usr/local/mysql/logs:/logs # 日志数据目录挂载 # ports: # # 端口映射,格式 宿主机端口:容器端口 # - "${MYSQL_PORT_OUT}:3306" # restart: always # command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # networks: # - zero_network # # # redis: # image: redis:6.2.5 # container_name: docker_redis # privileged: true # environment: # # 设置默认数据库和root默认密码,如果宿主机中/var/lib/mysql已经存在,这两个设置都不会生效 # <<: *env # TZ: Asia/Shanghai # volumes: # - ./backend/db_script/redis.conf:/etc/redis/redis.conf # 配置文件挂载 # - /usr/local/redis/data:/data # 数据目录挂载 # - /usr/local/redis/log:/logs # ports: # # 端口映射,格式 宿主机端口:容器端口 # - "${REDIS_PORT}:6379" # restart: always # command: [ "redis-server","/etc/redis/redis.conf" ] # networks: # - zero_network # 先执行 - - # docker network create zero_network networks: zero_network: external: true