IT/Docker

[Docker] 컨테이너 고정 IP 지정하는법, 도커 컨테이너 IP변동, 도커 네트워크

월공 2020. 11. 3. 08:04
728x90
300x250

문제점. 로컬서버여서 다행이지만 갑자기 서버가 정상적으로 가동을 하지않았고 재시작을 한 이후에 도커도 당연히 재시작이 되면서 컨테이너 IP 들이 모조리 바뀌어버리는 증상 발생

 

당연히 DB 컨테이너를 바라보던 타 컨테이너들은 제대로 DB 컨테이너에 접속하지못하면서 홈페이지가 셧다운

 

해결. 모든 컨테이너(사실 DB 컨테이너에만 지정해도 상관없긴하다만) 에 고정 IP 지정하고나서 해결

 

고정 IP 지정법

 

docker network 생성 아래 처럼 게이트웨이, 서브넷을 임의로 지정해줄수도 있지만

docker network create --gateway 172.19.0.1 --subnet 172.19.0.0/21 mybridge

아래처럼 그냥 생성할수도 있다

docker network create --driver bridge mybridge

docker inspect mybridge 로 세부 스펙을 확인해보면 아래와 같이 서브넷과 게이트웨이가 설정되어있는것을 볼수있다.

 

이제 네트워크는 만들었으니 도커 컨테이너 생성할때 추가옵션을 부여해서 재생성 해주어야한다

컨테이너 잘못만들면 그냥 날리고 다시 만들어야되는게 도커는 이부분이 약간 불편한듯 ... 

 

이렇게 도커를 run 시킬때 네트워크를 지정하면서 내가 원하는 IP 대로 지정을 할수있다

그 이외에 추가적으로 restart always 를 넣어줌으로써 혹시라도 도커 자체가 재시작 되었을 경우에도 무조건 재시작 하게끔 옵션을 넣어줬다

 

웹사이트를 열어주는거라 포트포워딩 및 마운트 작업까지 완료하였다

docker run --restart="always" -itd --net mybridge --ip 172.20.0.4 -p 8888:80 -v /var/www/html/test:/var/www/html --name 컨테이너명 centos8_ap2

 

 

컨테이너가 1,2개면 상관없는데 ... 현재 로컬에서 10개 이상씩 기존에 서비스 되던것들 컨테이너로 모두 옮기고 테스트중이라 확실히 10개가 넘어가니 벅차다, 뭐 하나 잘못 만들면 일괄로 삭제하고 일괄로 다시 생성하고, 다시 재가동하고 일괄로 재시작 할수도있고 기타 등등

그래서 docker-composer 를 쓰는게 아닐까 싶은데.. 그냥 유추만 할뿐 컴포저에 대해서 정확히 공부를 안해봐서 자세히는 모르겠다

 

혹시나 제가 잘못알고있다면 댓글 달아주시면 감사드리겠습니다 (_ _)

728x90
300x250