Tidak dapat menyambung ke bekas docker MySQL dari bekas lain di bawah rangkaian yang sama, tetapi boleh diakses dari luar
P粉116631591
P粉116631591 2023-09-12 20:37:02
0
1
514

Saya mempunyai dua bekas - "node.js" dan "mysql", kedua-duanya disediakan untuk berada pada rangkaian yang sama. Melakukan docker-compose up -d memulakan bekas dan ia berfungsi, saya boleh mengakses "node.js" dan "mysql" masing-masing dari luar.

Tetapi saya tidak dapat menyambung ke "mysql" daripada "node.js". Adakah saya melakukan sesuatu yang salah di sini?

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    env_file: .env
    volumes:
      - .:/app
    ports:
      - ${APP_PORT}:${APP_PORT}
    depends_on:
      - mysql
    networks:
      - appnet

  mysql:
    image: mysql:8.0
    restart: always
    env_file: .env
    environment:
      - MYSQL_ROOT_HOST=%
      - MYSQL_ROOT_PASSWORD=${DB_PASSWORD}
      - MYSQL_DATABASE=${DB_NAME}
      - MYSQL_USER=${DB_USERNAME}
      - MYSQL_PASSWORD=${DB_PASSWORD}
    volumes:
      - mysql-data:/var/lib/mysql
    ports:
      - ${DB_PORT}:${DB_PORT}
    networks:
      - appnet

networks:
  appnet:

volumes:
  mysql-data:

Untuk menyambung ke MySQL, saya menggunakan pakej "knex.js" dan ia berfungsi dengan baik pada mesin tempatan saya (konfigurasi docker yang sama)

P粉116631591
P粉116631591

membalas semua(1)
P粉232793765

Sepatutnya dilihat pada tahap persekitaran yang mungkin dibina dengan buruk, berikut ialah pautan ke docker-compose:

https://varsubham.medium.com/nodejs-mysql-docker-compose-ad156cd0c885

Semoga ini membantu anda

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan