programing

도커-공구함 마리애드브 용기

bestprogram 2023. 9. 4. 20:28

도커-공구함 마리애드브 용기

윈도우즈 8.1에서 도커 도구 상자를 사용하고 있으며 default라는 도커 시스템(가상 상자)을 생성하고 내부에서 mariadb 컨테이너를 실행하고 있습니다.

문제는 Windows 시스템에서 HeyidiSQL을 통해 해당 데이터베이스 시스템에 연결할 수 없다는 것입니다.

도커 컨테이너 안에서 mysql 명령을 사용하고 쿼리를 실행할 수 있습니다.

지금까지 수행한 단계:

  1. 가상 상자 내부에 포트 전달 추가:
    https://i.stack.imgur.com/IcXTJ.jpg

  2. 체인 전달 방화벽 규칙을 수락으로 변경
    증명: https://i.stack.imgur.com/6uMKO.jpg

  3. ip "localhost", "127.0.0.1" 및 ip가 "docker-machine ip default"인 hisdql을 통해 윈도우즈의 데이터베이스 시스템에 연결해 봅니다.

  4. 방화벽 문제를 확인하기 위해 "windty docker exec -it mariadbash"를 통해 도커 컨테이너에 연결되었지만 모든 것이 수락되었습니다.

  5. /etc/messages/my.cnf 내부에 "#messages = 127.0.01" 행이 주석 처리되었는지 확인합니다.

문제를 찾기 위해 더 이상 무엇을 해야 할지 정말 모르겠습니다.Mariadblog에는 연결 준비가 되었다고만 나와 있는데, 연결이 되지 않는 것 같습니다.

제가 어떻게 그 문제를 추적할 수 있는지 아십니까?

풀었어요.문제는 컨테이너를 실행하기 위한 내 명령이 누락되었다는 것입니다.-p옵션을 사용하여 컨테이너를 올바른 포트(?)에 바인딩하지 않습니다.

작업 명령:

docker run --name mdb -e MYSQL_ROOT_PASSWORD=admin_password_here -p 3306:3306 -d mariadb/server:10.1

또한 VirtualBox 내에서 포트 포워딩 옵션을 변경하려면 해당 시스템을 다시 시작해야 합니다.

docker-machine restart default

마지막으로 바인드 주소 라인이 주석 처리되었는지 확인합니다.저는 그것을 다른 주소로 묶으려고 했지만, 남기지 않고 그것은 확실히 효과가 있습니다.

#bind =127.0.0.1

언급URL : https://stackoverflow.com/questions/55873329/docker-toolbox-mariadb-container