상황가정1:
- docker container run -d -p 8080:80 nginx
=> docker1(192.168.2.10)
web001 web002 web003
Port 80 Port 80 Port 80
docker container run -d --name web1 -p 8081:80 nginx
docker container run -d --name web2 -p 8082:80 nginx
docker container run -d --name web3 -p 8083:80 nginx
* http://192.168.2.10:8081 접속할 경우 web1로 간다.
(중요)
- 컨테이너 포트 매핑
- 컨테이너 호스트명 파일 설정
포트매핑 (포트포워딩) 테스트
docker1[docker0]
ens: 실제 리눅스 장비
docker0 : 컨테이너의 게이트웨이 역할
+-------------------+
| 외부망 |
+---------+---------+
|
|
+---------+---------+
| docker0 |
| (172.17.0.1) |
+---------+---------+
|
|
+---------+ ---------+ ---------+ ---------+
| Switch (데이터 흐름 관리) |
+---------+---------+ ---------+ ---------+
|
+----------+----------+
| |
+-------+-------+ +-------+-------+
| myweb1 | | myweb2 |
| (172.17.0.2) | | (172.17.0.3) |
+---------------+ +---------------+
+---------+ ---------+ ---------+ ---------+
| 현재 사용 서브넷: 172.17.0.0/16 |
+-------------------+ ---------+ ---------+
[root@e75fa95372bf /]# ip route
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.3
이 출력은 현재 시스템의 IP 라우팅 테이블을 보여줍니다. 각 항목의 의미는 다음과 같습니다: default via 172.17.0.1 dev eth0: 기본 게이트웨이는 172.17.0.1이며, 이는 eth0 인터페이스를 통해 연결됩니다. 즉, 이 IP로 가는 트래픽은 기본적으로 이 경로를 사용합니다. 172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.3: 이 네트워크(172.17.0.0/16)는 eth0 인터페이스에 연결되어 있으며, 해당 인터페이스의 IP 주소는 172.17.0.3입니다. proto kernel은 커널에 의해 자동으로 추가된 경로임을 나타냅니다. |
* 단, 172.17.0.2 (myweb1)과 172.17.0.3 (myweb2)와는 통신 불가
=> router 쪽에서 설정 (docker1) 또는 docker swarm 기능 활성화
* docker swarm이란?
(with CHATGPT) Docker Swarm은 Docker에서 제공하는 클러스터 관리 및 오케스트레이션 도구입니다. 이를 통해 여러 대의 Docker 호스트를 하나의 가상 호스트처럼 관리할 수 있습니다. Swarm을 사용하면 다음과 같은 기능을 활용할 수 있습니다. 클러스터링: 여러 Docker 엔진을 클러스터로 묶어 관리할 수 있습니다. 서비스 배포: 애플리케이션을 여러 컨테이너에 배포하고, 이를 자동으로 관리합니다. 로드 밸런싱: 요청을 여러 서비스 인스턴스에 분산시켜 부하를 고르게 분산합니다. 스케일링: 필요에 따라 서비스의 컨테이너 수를 조절할 수 있습니다. 자동 복구: 장애가 발생한 컨테이너를 자동으로 재시작하거나 교체합니다. Swarm 모드를 활성화하면 Docker CLI를 통해 클러스터를 쉽게 관리할 수 있으며, 서비스의 상태를 모니터링하고 업데이트할 수 있는 기능도 제공합니다. Swarm은 간단한 설정으로 시작할 수 있지만, 대규모 애플리케이션을 운영하기에는 Kubernetes와 같은 다른 오케스트레이션 도구에 비해 기능이 제한적일 수 있습니다. |
'Docker' 카테고리의 다른 글
[Docker 수업] 20241026 12장 이미지 생성 (0) | 2024.10.26 |
---|---|
[Docker 수업] 20241026 10장 컨테이너 운용 (0) | 2024.10.26 |
[Docker 수업] 20241026 9장 네트워크 관리 (0) | 2024.10.26 |
[Docker 수업] 20241020 도커 볼륨 관리 (7장) (0) | 2024.10.20 |
[Docker 수업] 20241020 컨테이너 다루기 (6장) (2) | 2024.10.20 |