291

I couldn't figure out what the difference between those.

  • docker-compose up

  • docker-compose up --build

  • docker-compose build --no-cache

Is there any command for upwithout cache?

2 Answers 2

470

The following only builds the images, does not start the containers:

  • docker-compose build

The following builds the images if the images do not exist and starts the containers:

  • docker-compose up

If you add the --build option, it is forced to build the images even when not needed:

  • docker-compose up --build

The following skips the image build process:

  • docker-compose up --no-build

If the images aren't built beforehand, it fails.

The --no-cache option disables the Docker build cache in the image creation process. This is used to cache each layer in the Dockerfile and to speed up the image creation reusing layers (~ Dockerfile lines) previously built for other images that are identical.

Sign up to request clarification or add additional context in comments.

7 Comments

What does docker-compose up -d ?
That starts the containers in detached mode so will not show any output from them in the console and run them in the background.
Note some options (such as -d) for docker-compose up -d are not in the documentation for just docker-compose. You must look at docs.docker.com/compose/reference/up
@thanks_in_advance --build forces the (re-)build of the images. If you omit the flag and the image exists already, it won't get rebuilt.
so if I run docker-compose up for the very first time on my machine, it will build the image , then run it?
|
1
  1. docker-compose build when you need to build or rebuild Docker images.

  2. docker-compose up to start and manage containers based on the images you've built or already have.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.