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
포트 연결시켜주는 커맨드를 필수로 띄워줘야 한다.