Docker Compose를 사용할 때,
compose.yml 파일 안에 build: 옵션을 사용하거나
명령 실행 시 --build 플래그를 붙이는 경우가 있습니다.
이 두 가지는 비슷해 보이지만, 역할과 실행 시점이 다릅니다.
이번 글에서는 그 차이를 간단히 정리해보겠습니다
build: 옵션 — 이미지 빌드 설정
build:는 Dockerfile이 있는 디렉터리를 지정해
이미지를 처음부터 빌드할 때 사용합니다.
예시 — compose.yml
services:
my-server:
build: .
ports:
- "8080:8080"
여기서 build: .은 현재 디렉터리 즉 compose.yml 파일을 기준으로 (.)에 있는 Dockerfile을 사용해
이미지를 생성하겠다는 의미입니다.
즉, docker build . 명령어를 Compose 안에서 자동으로 처리해주는 역할이죠.
--build 플래그 — 이미지 재빌드 강제
이미 한 번 이미지를 빌드한 후에는
docker compose up -d를 실행해도 기존 이미지가 그대로 사용됩니다.
하지만 Dockerfile이 수정되었거나 새 설정을 반영하고 싶을 때는
다음처럼 --build 옵션을 추가합니다 👇
$ docker compose up -d --build
이 명령은 “기존 이미지가 있더라도 다시 빌드하고 실행하라”는 의미입니다.
정리하면
| 구분 | 역할 | 실행 시점 | 예시 |
| build: | Compose 파일에서 빌드 경로 지정 | 최초 설정 | build: . |
| --build | 기존 이미지 강제로 재빌드 | 실행 시 | docker compose up -d --build |
Compose를 사용할 때,
“Dockerfile 수정 후에도 반영이 안 된다면?” → --build를 붙여보세요
'컨테이너·워크플로우 자동화 > DocKer 기본 및 활용' 카테고리의 다른 글
| Spring Boot와 MySQL 컨테이너를 함께 실행하기 (0) | 2025.10.12 |
|---|---|
| Docker Compose로 MySQL, Redis 컨테이너 동시에 띄워보기 (0) | 2025.10.12 |
| Docker Compose를 사용하는 이유 (0) | 2025.10.12 |
| Dockerfile WORKDIR — 작업 디렉터리를 지정하는 명령어 (0) | 2025.10.12 |
| Dockerfile ENTRYPOINT 이해하기 (0) | 2025.10.12 |