簡體   English   中英

當 Docker 圖像啟動時 MySQL 不工作

[英]MySQL is not working when Docker images started

我嘗試為 WhatsApp api 運行本地 docker 環境。 但是,當我運行docker-compose時,它會告訴我MySQL is not up yet - sleeping 我沒有在我的 PC 上安裝 MySql 因為我認為 docker 像 VM 一樣工作,所以它會下載 mysql 並運行它。 有什么問題?

docker-compose.yml

version: '3'

volumes:
  whatsappMedia:
    driver: local
  mysqlData:
    driver: local
services:
   db:
     image: mysql:5.7.35
     restart: always
     environment:
        MYSQL_ROOT_PASSWORD: testpass
        MYSQL_USER: testuser
        MYSQL_PASSWORD: testpass
     expose:
        - "33060"
    ports:
    - "33060:3306"
volumes:
 - mysqlData:/var/lib/mysql
network_mode: bridge
cap_drop:
  - MKNOD
wacore:
 image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:-2.35.5?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.37.1 docker-compose <command> <options>)}
command: ["/opt/whatsapp/bin/wait_on_mysql.sh", "/opt/whatsapp/bin/launch_within_docker.sh"]
volumes:
 - whatsappMedia:/usr/local/wamedia
env_file:
  - db.env
environment:
  # This is the version of the docker templates being used to run WhatsApp Business API
  WA_RUNNING_ENV_VERSION: v2.2.3
  ORCHESTRATION: DOCKER-COMPOSE
depends_on:
  - "db"
network_mode: bridge
links:
  - db
cap_drop:
  - MKNOD
waweb:
image: docker.whatsapp.biz/web:v${WA_API_VERSION:-2.35.4?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.37.1 docker-compose <command> <options>)}
command: ["/opt/whatsapp/bin/wait_on_mysql.sh", "/opt/whatsapp/bin/launch_within_docker.sh"]
ports:
 - "9090:443"
volumes:
 - whatsappMedia:/usr/local/wamedia
env_file:
  - db.env
environment:
  WACORE_HOSTNAME: wacore
  # This is the version of the docker templates being used to run WhatsApp Business API
  WA_RUNNING_ENV_VERSION: v2.2.3
  ORCHESTRATION: DOCKER-COMPOSE
depends_on:
  - "db"
  - "wacore"
links:
  - db
  - wacore
network_mode: bridge
cap_drop:
  - MKNOD

db.env

WA_DB_ENGINE=MYSQL
WA_DB_HOSTNAME=127.0.0.1
WA_DB_PORT=3306
WA_DB_USERNAME=root
WA_DB_PASSWORD=testpass
WA_DB_CONNECTION_IDLE_TIMEOUT=180000

我編輯了 docker-compose 文件,將版本從 3 更改為 3.9,添加了默認網絡並刪除了 network_mode:bridge。

version: '3.9'

volumes:
  whatsappMedia:
    driver: local
  mysqlData:
    driver: local

networks:
  default:
    driver: bridge

services:
  db:
    image: mysql:5.7.35
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: testpass
      MYSQL_USER: testuser
      MYSQL_PASSWORD: testpass
    expose:
        - "33060"
    ports:
        - "33060:3306"
    volumes:
     - mysqlData:/var/lib/mysql
    networks:
      - default
    cap_drop:
      - MKNOD
  wacore:
    image: docker.whatsapp.biz/coreapp:v${WA_API_VERSION:?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.39.2 docker-compose <command> <options>)}
    command: ["/opt/whatsapp/bin/wait_on_mysql.sh", "/opt/whatsapp/bin/launch_within_docker.sh"]
    volumes:
     - whatsappMedia:/usr/local/wamedia
    env_file:
      - db.env
    environment:
      # This is the version of the docker templates being used to run WhatsApp Business API
      WA_RUNNING_ENV_VERSION: v2.2.3
      ORCHESTRATION: DOCKER-COMPOSE
    depends_on:
      - db
    cap_drop:
      - MKNOD
  waweb:
    image: docker.whatsapp.biz/web:v${WA_API_VERSION:?Run docker-compose with env var WA_API_VERSION (ex. WA_API_VERSION=2.39.2 docker-compose <command> <options>)}
    command: ["/opt/whatsapp/bin/wait_on_mysql.sh", "/opt/whatsapp/bin/launch_within_docker.sh"]
    ports:
     - "9090:443"
    volumes:
     - whatsappMedia:/usr/local/wamedia
    env_file:
      - db.env
    environment:
      WACORE_HOSTNAME: wacore
      # This is the version of the docker templates being used to run WhatsApp Business API
      WA_RUNNING_ENV_VERSION: v2.2.3
      ORCHESTRATION: DOCKER-COMPOSE
    depends_on:
      - db
      - wacore
    cap_drop:
      - MKNOD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM