Rumah  >  Soal Jawab  >  teks badan

Tidak dapat menyambung ke bekas docker MySQL dari bekas lain di bawah rangkaian yang sama, tetapi boleh diakses dari luar

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粉116631591P粉116631591424 hari yang lalu476

membalas semua(1)saya akan balas

  • P粉232793765

    P粉2327937652023-09-13 14:36:34

    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

    balas
    0
  • Batalbalas