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
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
통신이 되는것을 확인 할 수 있다
'Docker' 카테고리의 다른 글
docker commit (0) | 2023.10.06 |
---|---|
docker volume (0) | 2023.10.05 |
docker compose를 활용한 wordpress 설치 (0) | 2023.10.05 |
docker compose 예제 실습 (1) | 2023.10.05 |
docker, minikube 기초설정, 예제 (0) | 2023.10.04 |