Node.js MySQL Docker 연결 ECONNREFUSED 해결
Node.js에서 "ECONNREFUSED" 오류는 일반적으로 연결 시도 시 연결 실패를 나타냅니다. 데이터베이스에 연결합니다. Docker 컨테이너 내에서 실행되는 MySQL 데이터베이스에 연결할 때 적절한 포트 매핑을 확인하면 이 문제를 해결할 수 있습니다.
기본적으로 Docker는 호스트 포트를 컨테이너 내의 다른 포트에 매핑합니다. 제공된 Docker Compose 파일에서 MySQL 컨테이너는 내부적으로 포트 3306을 수신하는 동안 호스트의 포트 3307에 노출됩니다.
이 불일치를 해결하려면 Node.js 구성을 수정하여 연결을 위한 올바른 포트를 지정하세요. MySQL에:
const config = { host: 'mysql', // Use the container name database: 'mydb', port: '3306', // Use the internal container port user: 'mysql', password: '1234', connectionLimit: 10 };
또한 MySQL을 사용할 수 있을 때까지 기다릴 때 Docker Compose 명령이 올바른 포트를 사용하는지 확인하세요.
command: ["./wait-for-it.sh", "mysql:3306"]
이러한 수정을 통해 Node.js에 연결할 수 있습니다. MySQL 컨테이너에 성공적으로 연결되었습니다.
위 내용은 Node.js에서 MySQL Docker 컨테이너에 연결할 때 "ECONNREFUSED" 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!