Docker 컨테이너 IP설정 관련 문의 드립니다.

PCMaster   
   조회 3535   추천 0    

도커 컨테이너가 docker0 를 통해 브릿지 네트워킹을 하는건 알고있습니다.

현재 포트포워딩 설정까지는 끝내놨습니다만 관리가 너무 불편해

방식을 변경하고자 합니다.


docker0 브릿지를 사용하지 않고

라우터의 DHCP에서 직접 IP를 받아 사용할 수 있는 방법은 없을까요?


현재 컨테이너는 host로 설정되어 있습니다.


한줄요약

docker0의 172.17.0.XXX가 아닌 라우터에서 직접 DHCP를 사용하고 싶습니다.


짧은글 일수록 신중하게.
김제연 2019-07
지금이 nat고 원하시는게 브릿지 아닌가요
     
PCMaster 2019-07
아 그러네요...
지금 기술문서를 수십개쨰 읽다보니 머리속에 혼동이;;;
스린 2019-07
도커를 사용할 땐 각 컨테이너 접근을 아이피 기준으로 하지 않고, 컨테이너 이름으로 접근하는 것을 권장하는 것으로 알고 있습니다.
저도 처음엔 아이피로 관리했으나 지금은 해당 컨테이너의 이름으로 접근해 사용하고 있습니다.
현재는 훨씬 관리가 용이합니다.

컨테이너 생성 시 --name 옵션으로 이름을 지정할 수 있고,
같은 도커 네트워크 안에서는 컨테이너끼리 해당 컨테이너 이름을 통해 접근할 수 있습니다.
이 때에는 포트를 호스트에 매칭시켜준 것과 별개로 컨테이너의 모든 포트에 접근 가능합니다.
저는 도커 네트워크의 자체 네임서버가 있는 것으로 이해하고 있습니다.

예를 들어, 80포트를 사용하는 웹 어플리케이션 두 개를 실행해본다고 가정합니다.
docker —run some/image —name abc
docker —run some/image2 —name def

이렇게 두 개의 컨테이너를 실행했다면 abc 컨테이너 안에서는 http://def:80 으로 접근할 수 있습니다.
def에서도 마찬가지로 http://abc:80 으로 접근할 수 있습니다.
물론 http뿐만이 아니라 tcp, udp, sctp 등등 그냥 일반 통신하듯이 통신할 수 있습니다.

저는 현재 nginx 컨테이너를 생성해서 프록시 패스를 통해 해당 컨테이너들에게 제가 가진 도메인의 서브도메인들을 연결해 주었습니다.
그리고 nginx에게만 80, 443 포트를 개방해서 잘 동작합니다.
     
PCMaster 2019-07
컨테이너 네임을 모르는건 아닌데
화이트리스트 세팅때문에 그럽니다.
로컬네트워크상 자동인증이 되야 하는데
ip대역때문인지 자동인증이 되지 않아 문제입니다.


QnA
제목Page 4526/5718
2014-05   5209017   정은준1
2015-12   1740712   백메가
2022-05   3537   wguardian
2017-08   3537   캔위드
2022-02   3537   이희주
2018-02   3537   메가날백
2018-07   3537   네이쳐
2015-08   3537   김상목
2020-08   3537   명랑
2022-09   3537   죠슈아
2015-06   3537   김은목
2017-09   3537   두cpu
2017-03   3536   신은왜
2015-06   3536   겨울나무
2013-12   3536   송현우
2015-06   3536   김훈1
2015-03   3536   이문영
2019-04   3536   현진
2014-04   3536   황진우
2020-08   3536   권용1
2014-05   3536   무아
2017-09   3536   허인구마틴