테스트 사이트 - 개발 중인 베타 버전입니다

docker 질문 좀 드려봅니다. 채택완료

몰라무서워 5년 전 조회 1,864

docker 를 처음 써보려고 합니다.
검색해보면 웹앱과 mysql 을 둘다 도커이미지로 따로 만들고 웹앱 컨테이너를 실행시킬때 mysql 도커의 이름으로 link 해서 쓰던데요...
제 경우엔 mysql 이 이미 설치되어 사용중인 상태에서 웹앱 도커에서 기존의 mysql 과 연결을 하고 싶습니다.
어떻게 해야 하는지 잘 모르겠네요.

즉, 도커컨테이너에서 리얼머신의 mysql 하고 연동하는 방법을 알고싶습니다.
 

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트
5년 전

어려운 것을 하시네요.  

 

https://docs.docker.com/config/containers/container-networking/#published-ports

 

여기에 보면 된다고 나오는데.  192.168.1.100을 쓰면 안되고..  호스트의 아이피로 쓰신 것은 맞죠..

 

제일 편한것은 주어진대로 쓰시는 것이 좋습니다.  굳이 꼭 그렇게 가야될 이유가 있다면 모르겠지만..

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

몰라무서워
5년 전
아하... 되긴 되는건가 보군요. 제가 뭘 잘못한 모양이네요.
어렵게 가려고 하는 이유는 ㅜㅜ
디비를 통합으로 관리하려고 하다보니 컨테이너마다 따로 있는게 부담스러워서요.

댓글을 작성하려면 로그인이 필요합니다.

5년 전

제일 쉬운건... DB 전체를 백업 받아서 도커의 mysql에 심는 것입니다.

 

mysql의 volume을 host의 저장공간으로 지정할 수 있으므로 컨테이너를 지웠다가 다시 깔아도 그대로 있습니다.

 

그리고 docker-compose를 활용하면 굳이 link 시키지 않아도 하나의 네트워크로 인식되어 컨테이너의 이름만 넣어도 접속이 됩니다.

 

https://github.com/woosungchoi/docker-gnuboard/blob/master/docker-compose.production.yml

 

대략 위와 같이 셋팅하면 서로 쉽게 연결됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

몰라무서워
5년 전
자세한 설명 감사합니다. 스크랩해서 두고두고 봐야겠네요

댓글을 작성하려면 로그인이 필요합니다.

5년 전

죄송합니다. 라라곤이 아니라 laradock 입니다. ㅎㅎ

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

python flask도  가능합니다.  workspace에 접속해서 python 프로젝트 가능합니다.

 

개발환경을 SSD에 넣어서  항상 가지고 다닐수도 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

몰라무서워
5년 전
요즘은 배워야 할게 왜 이렇게 많은지 ㅜㅜ
힘드네요... 어휴...

댓글을 작성하려면 로그인이 필요합니다.

5년 전

라라곤 쓰세요.  신세계가 됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

몰라무서워
5년 전
아 사실 파이썬 플라스크 프로젝트라서요. 이걸 여기서 질문해서 죄송요.

댓글을 작성하려면 로그인이 필요합니다.

5년 전

docker 를 쉽게 생각하면 각각의 실행 파일 이미지가 하나의 리눅스 컴퓨터라고 보시면 됩니다.

 

이것들을 Docker 네트워킹을 통해서 연결하고 있습니다. (172로 시작하는..)

 

해 보질 않았지만,  호스트 아이피가 192.168.1.100이라고 하면,  여기에 mysql이 돌아 갑니다.

 

즉 192.168.1.100:3306으로..   이것을 내부 도커에  알려 주면 될 것 같습니다.

 

-p 192.168.1.100:3306:3306 으로 하고 도커 내부에서 localhost:3306으로 접속해 보세요.

 

시큐리티가 어떨지 모르겠습니다.

 

그리고 laradock을 사용하시면 데이타 베이스도 호스트에 저장이되고,  모든 데이타가 호스트쪽에 있으니 편하게 사용가능합니다. (참조하세요.)

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

몰라무서워
5년 전
웹앱 자체가 5000번 포트를 사용하고 있습니다.
포트를 두번 쓰니까 안된다고 하는데 어떻게 하는건지요? ㅜㅜ

docker run -i -t --name flask_app_01 -p 5000:5000 -p 3306:3306 flask_app

이렇게 했습니다.

192.168.1.100:3306:3306
이렇게는 안되는거 같아요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인