docker,

About having both image and build as part of a Docker Compose file

Jul 04, 2023 · 1 min read · Post a comment

If you haven’t asked yourself yet or if you don’t read docs as many others, what would happen if you specify both image and build as part of a Docker Compose file, here’s the catch.

Prerequisites

  • Docker
  • Docker Compose

Solution

When you define a service with both image and build directives, the image directive takes priority over the build directive. This means that if you specify an image for a service, Docker Compose will attempt to pull that image from a registry, and the build context and instructions will be ignored.

However, if image pulling fails, building the image would be the next thing which will result having an image build with the tag specified from the image: directive value.

In case of running docker compose build followed by docker compose up will result in overriding the image pulling operation from a remote repo with building the image based on the build directive with the image: value tag and docker compose up will use that newly built image to start the Docker Compose stack.

If you don’t want to build anything just use the --no-build option.

Conclusion

In case you face any issues, feel free to leave a comment below and if you find this tutorial useful, follow our official channel on Telegram.