Docker Compose: up --build Command
Overview
docker compose up --build is used to build (or rebuild) and start Docker containers as defined in your docker-compose.yml file. This ensures your containers use the latest code and configuration.
Command Breakdown
| Command | Description |
|---|---|
docker compose up |
Starts containers using existing images. |
docker compose up --build |
Rebuilds images before starting containers (ensures latest changes). |
When to Use --build
✅ Use --build when:
- You’ve updated your
Dockerfile. - You’ve changed your application code and need it reflected in the container.
- You suspect the existing image is outdated or corrupted.
❌ Avoid --build when:
- No changes have been made to the code or
Dockerfile. - You want to save time (rebuilding can be slow).
Example Workflow
1. First Run (or after changes):
docker compose up --build
Builds images and starts containers with the latest changes.
2. Normal Start (no changes):
docker compose up
Uses cached images for faster startup.
3. After Code or Dockerfile Updates:
docker compose up --build
Ensures containers use the latest code and configuration.
Tips
- Use
--buildsparingly to save time during development. - To rebuild only a specific service, use:
docker compose build <service_name> docker compose up - Check your
docker-compose.ymlandDockerfilefor changes before deciding to rebuild.
Written by A.M. Rinas