찾다

 >  Q&A  >  본문

NodeJS를 사용하여 Docker에서 MySQL에 연결할 때 오류가 발생합니다.

MySQL에 연결된 NodeJS 백엔드 서버를 만들었습니다. Docker를 사용하여 다음 명령을 사용하여 nodeJS 및 package.json 파일(MySQL 포함)을 실행하기 위한 이미지를 만들었습니다. 내 Dockerfile은 다음과 같습니다.

으아악

NodeJS를 사용하여 MySQL에 대한 연결을 생성하기 위한 또 다른 파일이 있습니다:

으아악

Docker 실행을 시도했지만(docker run -p 3000:3000 help:help) 다음 오류가 발생했습니다(수정 방법을 모르겠습니다. 도와주세요!!):

으으으으

P粉722521204P粉722521204231일 전525

모든 응답(1)나는 대답할 것이다

  • P粉787806024

    P粉7878060242024-04-07 09:21:49

    다중 컨테이너 환경에서는 Docker 컨테이너에 여러 네트워크가 있으며 각 컨테이너에는 자체 네트워크 네임스페이스가 있습니다. 다른 Docker 컨테이너에 액세스해야 하는 경우 Docker의 네트워킹은 서비스 이름을 통해 수행됩니다. docker-compose 설정에서 서비스 이름을 참조합니다. 일반 도커 컨테이너를 사용하는 경우에는 조금 더 어렵습니다.

    필요해요
    1. Docker 네트워크 만들기

    docker网络创建awesomeNetwork

    1. 첫 번째 컨테이너를 네트워크에 가입하세요

    docker网络连接nodebackend AwesomeNetwork

    1. 두 번째 컨테이너를 네트워크에 연결하세요

    docker网络连接db AwesomeNetwork

    이제 이름 db/nodebackend을 사용하여 컨테이너 네트워크 내의 다른 컨테이너를 개별적으로 참조할 수 있습니다.


    In dev/local docker-compose 环境中,我强烈建议使用 docker-compose 그리고 작성 매니페스트를 작성하세요. 그러면 네트워크가 매번 생성되므로 네트워크를 생성할 필요가 없습니다. 설정은 다음과 같습니다

    으아악

    이제 호스트 이름을 사용할 수 있습니다 db 连接到节点应用程序中的 db

    으아악

    회신하다
    0
  • 취소회신하다