비전공자도 이해할 수 있는 Docker 입문/실전 (박재성)
📢 Docker Compose를 사용하는 이유
Docker Compose는 여러 개의 컨테이너로 이루어진 어플리케이션을 하나의 YAML 파일에 정의하고, 하나의 명령어로 묶어서 실행/중지/관리할 수 있도록 해주는 도구이다.
docker compose를 사용할 때의 장점을 정리하면 다음과 같다.
- 여러개의 컨테이너를 하나의 파일에서 관리할 수 있도록 해줌
- 복잡한 명령어로 실행시키던걸 간소화시킬 수 있음
🎈 docker compose 파일 작성
아래는 compose 파일 작성 시 사용되는 속성이다. 아래 이외에도 더 다양한 속성들을 제공하지만 아래는 자주 사용되는 속성으로 먼저 익혀두면 좋다.
services:
서비스이름:
container_name: 컨테이너명
image: 이미지명
ports
- 호스트 포트번호:컨테이너 포트번호
environment:
환경변수명: 환경변수값
volumes:
- 경로1
- 경로2
build: Dockerfile로 만들어진 이미지를 대상으로 할때, Dockerfile의 경로 작성
- 서비스이름 : 서비스 이름을 작성한다.
- container_name : 컨테이너 이름을 작성한다.
- ports : 호스트 포트와 컨테이너 포트를 작성한다.
- environment : 환경 변수를 설정하는 부분으로 한 개 이상의 환경변수를 등록할 수 있다.
- volumes : 볼륨 경로 설정하는 부분으로 한 개 이상의 볼륨을 등록할 수 있다.
- build : Dockerfile로 만든 이미지를 사용할 때 Dockerfile의 경로를 작성하면 된다.
1️⃣ compose 파일 실행 / 중지
✅ 아래의 명령어를 통해서 compose 파일을 실행할 수 있다.
docker compose up // 포그라운드 실행
docker compose up -d // 백그라운드 실행
docekr compose down // 컨테이너 중지
2️⃣ 이미지를 다시 빌드하기
✅ 이미지를 Dockerfile을 통해서 사용하고 있는 경우 이미지가 변경되어 다시 빌드해야하는 경우가 존재한다. 아래와 같이 --build 옵션을 사용하면 된다.
docker compose up --build
- build 옵션을 사용하지 않고 실행하면 기존에 생성되어 있던 이미지를 사용
- --build 옵션을 사용하면 Dockerfile을 다시 빌드해준다.
처음 구동하는 경우에도 --build를 사용해야 한다.
3️⃣ 이미지 업데이트
✅ compose에서 사용하고 있는 이미지를 로컬 / 도커 허브 등에서 최신 버전으로 이미지를 다운 받는다.
docker compose pull
4️⃣ 서비스 컨테이너 목록 조회
현재 Docker Compose에 정의되어 있는 모든 서비스 컨테이너 목록을 조회할 때 사용한다.
docker compose ps
- 현재 위치한 compose.yml에 작성 된 서비스 컨테이너 목록을 조회하는 것임에 주의
📯 Docker CLI와 compose.yml 변환
Docker CLI로 작성할 수 있는 명령어는 전부 compose.yml로 옮길 수 있다. 그 반대로 동일하다.
아래의 주소를 활용하면 둘을 간단하게 변환할 수 있다.
Docker CLI → compose.yml로 변환
compose.yml → Docker CLI로 변환
'Docker' 카테고리의 다른 글
| [Docker] Dockerfile 만들어보기 (0) | 2025.05.04 |
|---|---|
| [Docker] 도커 볼륨 (0) | 2025.04.26 |
| [Docker] 도커 컨테이너, 이미지 CLI (0) | 2025.04.19 |