Docker compose extra_hosts: 컨테이너 내부 DNS 설정
2025. 3. 10. 09:29
DNS (Domain Name System)
인터넷에서 도메인 이름(예: example.com)을 IP 주소(예: 1.2.3.4)로 변환하는 시스템
웹 브라우저나 애플리케이션이 도메인 이름으로 서버에 접속할 때,
DNS 서버에 요청하여 해당 도메인의 IP 주소를 알아냄
/etc/hosts 파일
컴퓨터 내부에서 DNS 조회 없이 도메인 이름과 IP 주소를 직접 매핑하는 파일
이 파일에 특정 도메인 이름과 IP 주소를 등록하면, 해당 컴퓨터에서는 DNS 서버에 문의하지 않고
/etc/hosts 파일의 정보를 사용하여 접속함
import aiohttp
import asyncio
async with aiohttp.ClientSession() as session:
async with session.get('http://example.com') as response:
print("응답 상태 코드:", response.status)
print("응답 내용:", await response.text())
위 코드는 url에 지정된 주소로 HTTP POST 요청을 보냄
url에 도메인 이름(예: example.com)이 사용되었다면,
애플리케이션은 해당 도메인의 IP 주소를 알아내야 함
DNS 설정이 제대로 되어 있지 않으면 Name or Service not known 오류가 발생할 수 있음
url에 IP 주소(예: 1.2.3.4)가 직접 사용되었다면,
도메인 이름을 IP 주소로 변환하는 과정이 필요하지 않음
Docker Compose에서 extra_hosts 설정은
컨테이너 내부의 /etc/hosts 파일에 특정 호스트 이름과 IP 주소의 매핑을 추가할 수 있음
version: "3"
services:
web:
image: nginx:latest
extra_hosts:
- "example.com:1.2.3.4"
'네트워크' 카테고리의 다른 글
| Keepalived + HA Proxy 이중화 구성 (0) | 2025.06.12 |
|---|---|
| [네트워크] CDN이란? (0) | 2023.01.20 |
| [네트워크] REST API란 (0) | 2023.01.20 |