> 백엔드 개발 > Golang > 데이터베이스 초기화 실패, tcp 127.0.0.1:3306 다이얼링 중 오류 발생: 연결: 연결 거부 문제

데이터베이스 초기화 실패, tcp 127.0.0.1:3306 다이얼링 중 오류 발생: 연결: 연결 거부 문제

WBOY
풀어 주다: 2024-02-06 10:42:04
앞으로
1168명이 탐색했습니다.

初始化数据库失败,出现错误拨号 tcp 127.0.0.1:3306: connect: 连接被拒绝 问题

질문내용

도커를 배우고 있으니 지금 시작해볼까요 그런데 이 도커로 실행하면 문제가 발생합니다. docker run --rm -p 8080:8080/tcp --env-file .env my-project:latest 다음은 내 .env 코드 중 일부입니다. Windows에서 Docker Desktop을 사용하고 있습니다. Windows의 localhost에서 Docker를 실행할 수 없습니까?

으아아아

혹시 아시는 분 계시나요? 어떤 답변이라도 대단히 감사하겠습니다

감사합니다


정답


문제는 컨테이너를 시작하면 호스트가 아닌 컨테이너 내부에서 127.0.0.1:3306에 연결을 시도하는데 포트 3306에 연결이 없어 연결이 거부되었기 때문에 오류가 발생하는 것입니다. localhost의 컨테이너에서는 모든 것이 실행됩니다.

Windows 및 Mac의 경우 이 문제는 host.docker.internal 而不是 127.0.0.1를 사용하여 쉽게 해결할 수 있습니다. 이렇게 하면 컨테이너 내에서 실행되는 서비스가 호스트 시스템에서 실행되는 MySQL 인스턴스에 올바르게 연결됩니다.

Linux의 경우 --network="host" 选项传递给 docker run 명령

만 추가하면 되므로 훨씬 더 간단합니다.

위 내용은 데이터베이스 초기화 실패, tcp 127.0.0.1:3306 다이얼링 중 오류 발생: 연결: 연결 거부 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:stackoverflow.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿