728x90
반응형
오늘은 Docker, Docker Compose에 대해서 강의를 들었고
중요한 내용들을 정리해보았습니다.
1. Docker 기초 개념
- Docker: 앱과 환경을 하나로 묶은 '컨테이너' 기술.
- Docker Compose: 여러 컨테이너를 YAML 파일로 한 번에 관리하는 도구.
2. 포트 매핑 (Port Mapping)
컨테이너는 독립된 공간이라 외부와 연결할 '문'이 필요합니다.
- 형식: -p [호스트 포트] : [컨테이너 포트] (예: 8080:80)
- 방향: 밖(내 컴퓨터) : 안(컨테이너)
- 특이점: 컨테이너 내부 포트는 서로 독립적입니다. 예를 들어, 서로 다른 컨테이너라면 내부에서 똑같이 80번 포트를 사용해도 아무런 충돌이 발생하지 않습니다. 호스트 포트(왼쪽 숫자)만 겹치지 않게 잘 나눠주면 됩니다.
3. 컨테이너 간 통신과 네트워크
컨테이너끼리 서로 데이터를 주고받으려면 같은 '네트워크' 안에 있어야 합니다.
- 일반 Docker: 사용자가 직접 네트워크를 만들고(docker network create), 실행할 때마다 네트워크를 지정해줘야 하는 번거로움이 있습니다.
- Docker Compose의 마법: Compose는 파일을 실행하는 순간 자동으로 전용 네트워크를 생성하고, 파일 안에 적힌 서비스들을 그 네트워크에 묶어줍니다. 덕분에 개발자는 별도의 네트워크 설정 없이도 컨테이너 이름만으로 서로 통신할 수 있습니다.
4. Docker Compose 실전 예시
version: '3.8'
services:
app:
image: my-app
ports:
- "8080:80" # 밖(8080) -> 안(80)
networks:
- my-network # (보통은 생략해도 compose가 자동 생성/연결함)
db:
image: mysql
ports:
- "3306:3306" # 내부 포트가 겹쳐도 컨테이너가 다르면 상관없음
networks:
- my-network
반응형
'Study' 카테고리의 다른 글
| [내일배움캠프 TIL] 25일차 - 캐싱 전략 (0) | 2026.05.11 |
|---|---|
| [내일배움캠프 TIL] 24일차 - CI, Github Actions로 CI 파이프라인 구축하기 (0) | 2026.05.08 |
| [내일배움캠프 TIL] 22일차 - Github Flow vs Git Flow (3) | 2026.05.06 |
| [내일배움캠프 TIL] 21일차 - MSA 구조 도식화 (0) | 2026.05.04 |
| [내일배움캠프 TIL] 20일차 - 1차 프로젝트 마무리, 회고 (0) | 2026.05.01 |