1. 컨테이너가 통신하는 방법
docker0
- virtual ethernet bridge : 172.17.0.0/16
- L2 통신기반
- container 생성 시 해당 컨테이너에 veth 인터페이스 생성
- 모든 컨테이너는 외부 통신을 docker0 통해 진행
- container running 시 172.17.X.Y 로 IP 주소 할당
2. 컨테이너 포트를 외부로 노출하는 방법
port-forwarding
- container port를 외부로 노출시켜 외부 연결 허용
- iptables rule을 통한 포트 노출
-p hostPort:containerPort
-p containerPort
-P
3. 컨테이너 네트워크 추가하는 방법
user-defined bridge network 생성
$ docker network create --driver bridge\
--subnet 192.168.100.0/24\
--gateway 192.168.100.254\
mynet
$ docker network ls
$ docker run -d --name appjs\
--net mynet --ip 192.168.100.100\
-p 8080:8080\
smlinux/appjs
4. 컨테이너간 통신 방법 (legecy)
$ docker run -d --name wordpress --link mysql:mysql\
-e WORDPRESS_DB_PASSWORD=wordpress\
-p 80:80
wordpress:4
도커 공식 문서에서는 '--link'보다 user-defined networks를 사용하는 것을 권장한다. (3번 방법)
'정기간행물 > daily' 카테고리의 다른 글
Spring boot에 JKS파일 정보만 입력했는데 어떻게 암호화, 복호화가 둘 다 될까? (0) | 2023.04.04 |
---|---|
curl이란? (0) | 2023.03.31 |
RabbitMQ란? (0) | 2023.03.30 |
Docker Architecture (0) | 2023.03.29 |
프로메테우스란? (0) | 2023.03.27 |