Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockerfile FROM local docker image #159

Closed
Julio-Guerra opened this issue Oct 7, 2019 · 3 comments
Closed

Dockerfile FROM local docker image #159

Julio-Guerra opened this issue Oct 7, 2019 · 3 comments

Comments

@Julio-Guerra
Copy link

Hello,

I cannot figure out why a FROM myimage is not taken from the local docker image list while it was previously loaded using docker buildx build ... -t myimage --load .

I keep getting a pull access denied error because it is trying to be resolved as docker.io/library/myimage:latest

#6 [myimage 1/1] FROM docker.io/library/myimage:latest
#6 resolve docker.io/library/myimage:latest 0.3s done
#6 ERROR: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

This only happens on my CI machine (azure pipelines' ubuntu vm) while it works on my own dev machine where I get a log clearly saying naming to docker.io/library/myimage.

I tried many --output options but still the same error in the end, despite the fact of being able to, for example, docker inspect myimage.

Any idea?
Thanks

Some more details:

$ docker buildx version
github.com/docker/buildx v0.3.1 6db68d029599c6710a32aa7adcba8e5a344795a7
$ docker version
Client:
 Version:           3.0.6
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        a63faebc
 Built:             Wed Jun 19 22:56:37 2019
 OS/Arch:           linux/amd64
 Experimental:      true

Server:
 Engine:
  Version:          3.0.6
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.5
  Git commit:       b07f53d
  Built:            Wed Jun 19 22:28:55 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

--output=image,name=myimage gives:

#6 exporting to image
#6 exporting layers
#6 exporting layers 5.5s done
#6 exporting manifest sha256:610795df64e038b63842412ede3bf578018e9df62b8b57c0df8bdd90c83a8f43 0.1s done
#6 exporting config sha256:f59feef209198a7d4e3f5b421b95e7a36e2c39803b1350f7d77b22238c8f25d1 0.0s done

--output=docker,name=myimage gives:

#6 exporting to oci image format
#6 exporting layers
#6 exporting layers 8.3s done
#6 exporting manifest sha256:8faa9521a741e7665c040552cc695e7d00bcbbe0428eb6c6f0b21f8399f85886
#6 exporting manifest sha256:8faa9521a741e7665c040552cc695e7d00bcbbe0428eb6c6f0b21f8399f85886 0.3s done
#6 exporting config sha256:d05ca64c7eebafb812926d5e9e6c61dbb14ce5cf0e5f6c3f839a981cfb7c5eed
#6 exporting config sha256:d05ca64c7eebafb812926d5e9e6c61dbb14ce5cf0e5f6c3f839a981cfb7c5eed 0.2s done
#6 sending tarball
#6 ...

#7 importing to docker
#7 ...

#6 exporting to oci image format
#6 sending tarball 0.7s done
#6 DONE 9.7s

#7 importing to docker
#7 DONE 1.2s
@Julio-Guerra Julio-Guerra changed the title Dockerfile FROM local cross docker image Dockerfile FROM local docker image Oct 7, 2019
@tonistiigi
Copy link
Member

Buildx can only access the local docker images with docker driver. Run buildx inspect to see what driver is being used.

@Julio-Guerra
Copy link
Author

Buildx can only access the local docker images with docker driver. Run buildx inspect to see what driver is being used.

Indeed!

I couldn't use the option --driver docker of docker buildx create (resulting in a failed to find driver "docker" error), so I rather installed qemu-user-static + registered it using multiarch/qemu-user-static to get the default builder, having the docker driver, with multiple platforms.

Complete steps I do to bootstrap the machine:

      sudo apt install qemu-user-static
      docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
      sudo systemctl restart docker
      docker builder inspect --bootstrap

I can now correctly use tagged image names with the FROM directive.

@trueblablak
Copy link

Buildx can only access the local docker images with docker driver. Run buildx inspect to see what driver is being used.

So only "default" builder can, is there a way to give "default" driver own config as described here for own builders?

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants