문제:
Docker 컨테이너에서 실행 중인 MySQL 인스턴스에 연결하려고 합니다. 호스트 시스템의 Docker 컨테이너이지만 소켓과 관련된 오류가 발생했습니다. 연결.
Dockerfile에 다음 변경 사항이 포함되어 있습니다.
성공적인 명령 순서:
컨테이너 내부에서 연결:
컨테이너 내부에서는 다음을 사용하여 MySQL에 성공적으로 연결할 수 있습니다: mysql -u root
호스트의 시도 실패 컴퓨터:
mysql -P 12345 -uroot를 사용하여 호스트에서 연결을 시도하면 소켓을 통해 MySQL에 연결할 수 없다는 오류가 표시됩니다.
호스트 시스템에서 Docker 컨테이너의 MySQL 인스턴스에 연결하려면 다음을 사용하세요. 명령:
mysql -h localhost -P 3306 --protocol=tcp -u root
3306을 Docker 컨테이너에서 전달한 포트 번호(이 경우 12345)로 바꿉니다.
설명:
MySQL이 Docker 컨테이너 내에서 실행되고 있기 때문에 소켓 연결이 불가능합니다. mysql 명령에서 "--protocol=tcp"를 설정하면 대신 TCP를 통해 연결하도록 지정할 수 있습니다.
위 내용은 호스트 머신에서 MySQL Docker 컨테이너에 어떻게 연결하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!