본문으로 건너뛰기

Day 5 - Docker 네트워크

Day 5 - Docker 네트워크

목차


1. 컨테이너 네트워크 기본

docker build -t pista-ubuntu:latest .
docker run -td --name=con-pista-ubuntu-1 pista-ubuntu:latest

# IP 확인
docker exec con-pista-ubuntu-1 ip addr
인터페이스IP설명
eth0172.17.0.x/16브리지 네트워크

DNS/MAC 지정

docker run -td --dns=219.250.36.130 --mac-address="12:34:56:0a:ff:1a" --name=con pista-ubuntu:latest

2. 커스텀 브리지 네트워크

docker network create --driver bridge mynet-bridge-1

docker run -td --name=mycon-11 --network=mynet-bridge-1 pista-ubuntu:latest
docker run -td --name=mycon-12 --network=mynet-bridge-1 pista-ubuntu:latest

컨테이너 이름으로 통신

docker exec mycon-12 ping mycon-11 # ✅ 성공

커스텀 네트워크는 자동 DNS 제공


3. 네트워크 격리

docker network create mynet-bridge-1
docker network create mynet-bridge-2
테스트결과
같은 네트워크 내 ping✅ 성공
다른 네트워크 간 ping❌ 실패
외부 인터넷 ping✅ 성공

4. 커스텀 서브넷

docker network create \
--subnet=172.20.2.0/24 \
--gateway=172.20.2.1 \
mynet-bridge-2

docker run -td --ip=172.20.2.101 --net=mynet-bridge-2 pista-ubuntu:latest

5. WordPress + MySQL

# MySQL
docker run -d --name=wordpress_db \
--net=mynet-bridge-1 \
-e MYSQL_ROOT_PASSWORD=<PASSWORD> \
-e MYSQL_DATABASE=pista \
mysql:8.0.44-debian

# WordPress
docker run -d --name=my_wordpress \
--net=mynet-bridge-1 \
-p 8080:80 \
-e WORDPRESS_DB_HOST=wordpress_db:3306 \
-e WORDPRESS_DB_USER=root \
-e WORDPRESS_DB_PASSWORD=<PASSWORD> \
wordpress

6. Docker Compose

services:
db:
image: mysql:8
environment:
- MYSQL_ROOT_PASSWORD=<PASSWORD>
- MYSQL_DATABASE=pista
networks:
- mynet

web:
image: wordpress
ports:
- 8080:80
environment:
- WORDPRESS_DB_HOST=db:3306
depends_on:
- db
networks:
- mynet

networks:
mynet:
driver: bridge

volumes:
db:
docker compose up -d
docker compose down

관련 문서

그래프 뷰

그래프 데이터 로딩 중…
현재: Day 5 - Docker 네트워크
노드 클릭 → 이동 · 드래그 → 위치 조정