I want to build image via docker-compose and set specific tag to it. Documentation says:
Compose will build and tag it with a generated name, and use that image thereafter.
But I can't find a way to specify tag and for built images I always see 'latest' tag.
16 Answers
It seems the docs/tool have been updated and you can now add the image tag to your script. This was successful for me.
Example:
version: '2'
services: baggins.api.rest: image: my.image.name:rc2 build: context: ../.. dockerfile: app/Docker/Dockerfile.release ports: ... 6 Original answer Nov 20 '15:
No option for a specific tag as of Today. Docker compose just does its magic and assigns a tag like you are seeing. You can always have some script call docker tag <image> <tag> after you call docker-compose.
Now there's an option as described above or here
build: ./dir
image: webapp:tag I'd like to add that you can also manage your tag versions through environment variables or an .env file.
export TAG=1.11
Example:
version: '3.3'
services: baggins.api.rest: image: my.image.name:${TAG} build: context: ../.. dockerfile: app/Docker/Dockerfile.release ports: ...docker-compose config to validate
In my ci pipeline my first build is tagged with a throwaway value used for running tests. Then I change the tag to latest and rebuild again (nearly instant since it's all cached) before pushing to the registry.
1If you specify image as well as build, then Compose names the built image with the webapp and optional tag specified in image:
build: ./dir
image: webapp:tagThis results in an image named webapp and tagged tag, built from ./dir.
you can try:
services: nameis: container_name: hi_my build: . image: hi_my_nameis:v1.0.0 If you have already built your image, you can re-tag it by using the docker tag command:
docker tag imagename imagename:v1.0
docker tag imagename:v1.0 imagename:v1.1If you have multiple tags attached to your repository, and if you want to remove one of them, you can use the docker rmi command:
$ docker rmi imagename:v1.0
Untagged imagename:v1.0Reference: