小编Geo*_*e K的帖子

Dockerized NodeJS API 无法连接到 MySQL 容器,getaddrinfo ENOTFOUND

我的docker-compose.yml看起来像这样:

version: '3'

services:
  api:
    build:
      context: .
      dockerfile: Dockerfile
    image: api
    container_name: app-api
    restart: unless-stopped
    env_file: ./.env
    ports:
      - '8080:8080'
    volumes:
      - ./src
      - ./node_modules
    command: yarn start
    depends_on:
      - mysql
  mysql:
    container_name: app-mysql
    restart: always
    image: mysql:8.0.21
    environment:
      MYSQL_ROOT_PASSWORD: 'root'
      MYSQL_USER: 'app'
      MYSQL_PASS: 'password'
      MYSQL_DATABASE: 'appdb'
    volumes:
      - ./data:/var/lib/mysql
    ports:
      - '3307:3306'
Run Code Online (Sandbox Code Playgroud)

我的.env看起来像这样:

DB_HOST="mysql" // Tried 127.0.0.1, 0.0.0.0
DB_PORT="3306"
DB_USER="app"
DB_PASSWORD="password"
DB_NAME="appdb"
NODE_ENV="DEV"
Run Code Online (Sandbox Code Playgroud)

我从服务中收到错误: {"message":"Database connection failed with error Error: getaddrinfo ENOTFOUND \"mysql\"","level":"info","timestamp":"2020-07-27T03:57:55.524Z"}

我可以从 …

mysql node.js docker docker-compose

8
推荐指数
2
解决办法
8324
查看次数

标签 统计

docker ×1

docker-compose ×1

mysql ×1

node.js ×1