我的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"}
我可以从 …