Docker

docker network

판매자명단 2023. 10. 5. 16:29

출처 : https://joont92.github.io/docker/network-%EA%B5%AC%EC%A1%B0/

container를 만들면 각자 격리되고, 통신을 위한 network interface를 할당받는다

host의 veth interface가 생성되고 container 내의 interface 와 연결한다

host의 veth interface 는 docker0 이라는 interface 와 연결된다

위 과정은 컨테이너를 만들때마다 반복된다

 

명령어

doker run [option] [image]
# option
-d : background 실행
-p : port mapping
--expose : 문서전용, 접속불가
--network : network 설정
--net-alias : network 이름 설정 bridge network에서만 사용가능

docker network create [option] [name]
# option
--driver : driver 설정

 

예제 1

docker run -d --network=host grafana/grafana:master

docker ps
docker inspect condescending_hamilton

network를 host로 설정해 지정된 port가 없지만 grafana에 기본 설정된 port로 접속이 된다

 

예제 2

docker network create --driver=bridge test
docker run -d --network=test --net-alias=nginx nginx
docker run -d --network=test --net-alias=grafana grafana/grafana:master

 

test라는 bridge를 만들고 nginx와 grafana를 같은 bridge(test)에 연결시켜서 서로 통신 되게 하려고 한다

docker exec -it focused_shaw /bin/bash

docker exec -it distracted_nightingale /bin/bash

통신이 되는것을 확인 할 수 있다