osx 에서 docker container 로 mysql 을 띄웠을 때, DB container 에 접속이 안되는 문제

$ docker run --name db -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

입력하면 mysql container 가 db 라는 이름으로 만들어져서 동작한다.

$ docker exec -it db bash

명령으로 들어가 보면 root prompt 가 떠서 여러가지 동작을 할 수 있게 된다.

# mysql -uroot -p

접속해서 테이블이나 데이타베이스도 만들 수 있다.

그 뒤에 'OSX 터미널'에서 다음과 같이 명령을 치면

$ mysql -uroot -h192.168.99.100 -p

(192.18.99.100 은 osx 에 깔린 docker-machine 의 ip 다. 보통 상황마다 다르니 꼭 확인하자)

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.99.100' (61)

위와 같은 에러가 발생한다. OSX 에서는 docker-machine 에서 도커를 띄우기 때문에 포트를 연결시켜서 띄워줘야 한다. 즉

$ docker run --name db -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql

포트 연결시켜주는 커맨드를 필수로 띄워줘야 한다.

+ Recent posts