Home > Software design >  Docker: "manifest unknown" when not specifying image version in docker-compose.yml
Docker: "manifest unknown" when not specifying image version in docker-compose.yml

Time:12-09

I created an image called myrepo/myimage:0.0.1 and pushed it to my docker hub repo using the push command.

After that I tried running docker-compose up from the directory where my docker-compose.yml is located to bring that image up. However, if I don't specify the image version I get the following error: ERROR: manifest for myrepo/myimage not found: manifest unknown: manifest unknown.

My docker-compose.yml looks like this:

    version: '2'
services:
    postgres_globally_united:
        image: postgres
        ports:
            - "3460:5432"
        environment:
            - POSTGRES_USER=postgres
            - POSTGRES_PASSWORD=agjAFk3!Rk2#!lapA@
        image: myrepo/myimage
        ports:
            - "7001:80"

I also tried doing it by defining the image like this in docker-compose.yml: myrepo/myimage:latest. However, I got the similar error.

How can I make Docker get the latest image. I see that for the postres image it works just fine...

CodePudding user response:

You need to provide the specific tag of your image in the compose file or tag the image as latest and push that.

docker tag myrepo/myimage:0.0.1 myrepo/myimage:latest
docker push myrepo/myimage:latest

latest is not automatically created for you, if you build/push with a specific tag. If you leave the tag off, then latest will be used as the default tag.

Also note that you can provide multiple tags when building, which may be more convenient than building with one tag and tagging it again.

docker build --tag myrepo/myimage:latest --tag myrepo/myimage:0.0.1 .
  • Related