I am trying to push my own docker image to the GCP registry but when I do that I get the following output:
docker push gcr.io/<my-project-id>/<image>
Using default tag: latest
The push refers to repository [gcr.io/<my-project-id>/<image>]
f15150e56202: Pushed
f4d9210559a2: Pushed
740ec60a06f1: Pushed
5f70bf18a086: Layer already exists
707ca84b07d6: Pushed
cd120726f64b: Layer already exists
033eaa4a923c: Layer already exists
3f6108380787: Layer already exists
1f8751be0506: Layer already exists
59b0c7a2fe4d: Layer already exists
7372faf8e603: Layer already exists
9be7f4e74e71: Layer already exists
36cd374265f4: Layer already exists
5bdeef4a08f3: Layer already exists
name unknown: Buckets(<my-project-id>,artifacts.<my-project-id>.appspot.com)
This is the same behaviour as the one from this question.
The bucket artifacts.<my-project-id>.appspot.com is created, and some stuff is pushed to it, so there is no access problem. It just seems that the docker push suddenly does not recognize the bucket.
I already double checked that I have all the permissions I need on my service account, I am logged in in my gcloud CLI and that docker is configured to use the gcp auth.
Any clues on why this might happen?
Thanks!
Recreating the GCP project seems to have fixed this issue.
Related
Trying to push a local image to a google cloud project, which fails with this error. Any help?
$ docker push gcr.io/myprojectID/myrstudio:latest
The push refers to repository [gcr.io/ myprojectID /myrstudio]
07fc541c7837: Preparing
5f40edd3a036: Preparing
8243f7003c86: Preparing
55903d33bbd7: Preparing
6f15325cc380: Preparing
1e77dd81f9fa: Preparing
030309cad0ba: Preparing
1e77dd81f9fa: Waiting
030309cad0ba: Waiting
6f15325cc380: Layer already exists
1e77dd81f9fa: Layer already exists
030309cad0ba: Layer already exists
55903d33bbd7: Pushed
07fc541c7837: Pushed
5f40edd3a036: Pushed
8243f7003c86: Pushed
name unknown: Buckets(myprojectID ,artifacts. myprojectID.appspot.com)
Looks like something was pushed, but at some point failing...
EDIT: running wind 10 version 20H2 (OS build 19042.1288)
When you perform a docker push to Google Container Registry your image is stored inside a bucket in your project;
Container Registry uses Cloud Storage buckets as the underlying storage for container images. You control access to your images by granting permissions to the bucket for a registry.
If this is a first time that you try to push an image - the account you're using must have Storage Admin role. That's because a bucket that will store your images has to be created.
Have a look at the documentation that describes all the steps to grant necessary permissions.
If you're not familiar with GCP Cloud Storage then have a look at the guide describing how to use GCP's storage buckets.
Also you may consider trying out Artifact Registry which gives you more control over your images.
I have a Docker container with Python code, and I'm trying to run it on the Google Cloud Platform. When I list the Docker images on GCP, I get
(erudite-stratum-222517)$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
With no images listed.
As far as I understand, the container was successfully pushed to GCP:
docker push eu.gcr.io/erudite-stratum-222517/first_test
The push refers to repository [eu.gcr.io/erudite-stratum-222517/first_test]
0ef83288f52f: Layer already exists
3f3b6e2a9fe0: Layer already exists
d8e1c4e9af76: Layer already exists
6680c03f0d88: Layer already exists
515fff016870: Layer already exists
2f4f74d3821e: Layer already exists
9978d084fd77: Layer already exists
1191b3f5862a: Layer already exists
08a01612ffca: Layer already exists
8bb25f9cdc41: Layer already exists
f715ed19c28b: Layer already exists
latest: digest: sha256:3b4bf5f137acbf173a2c0dafb158090135e659e7b11a94d7726dc880fdefe203
size: 2636
Is there a bug or am I doing something wrong? Thanks.
I'm trying to push a docker container to a private registry on the Google Cloud Platform:
gcloud docker -- push gcr.io/<project-name>/<container-name>
and a checksum fails:
e9a19ae6509f: Pushing [========================================> ] 610.9 MB/752.4 MB
xxxxxxxxxxxx: Layer already exists
...
xxxxxxxxxxxx: Layer already exists
file integrity checksum failed for "var/lib/postgresql/9.5/main/pg_xlog/000000010000000000000002"
Then I deleted that file (and more) from the container, committed the change, and tried to push the new image. I got the same error.
Is there some way to push up my image without pushing up the commit that contains the broken file? Any insight into why the new commit fails in the same way?
FWIW, that looks like a local daemon error prior to contacting the registry, so I very much doubt there is anything we will be able to do on our side. That said, if you reach out to us as Jake (jsand) suggests, we can hopefully try to help you resolve the issue.
We have been using locked version of the Minio image (RELEASE.2016-10-07T01-16-39Z), but now it seems to have been removed.
I'm getting this from Docker:
Pulling minio (minio/minio:RELEASE.2016-10-07T01-16-39Z)...
Pulling repository docker.io/minio/minio
ERROR: Tag RELEASE.2016-10-07T01-16-39Z not found in repository docker.io/minio/minio
I'm finding Docker hub hard to navigate. Where can I find a list of available versioned images, or a mirror to my exact image?
You can find the available tags for minio/minio on that repository's tag page.
If you have the image you want already downloaded on any of your systems, you can push it to Docker Hub yourself, then pull it onto your other systems. This has the benefit that you can control whether you delete that image (it's your account, not someone else's).
You can also use a private registry, if you want, which would prevent Docker from deleting the image from Docker Hub against your will for some reason. But that is extra work you may not wish to do (you would have to host the registry yourself, set it up, maintain it...)
We removed the docker version due to incompatibilities, from the recent releases it won't happen.
When I try to push new docker images to gcr.io using gcloud docker push, it frequently makes some progress before stalling out:
$ gcloud docker push gcr.io/foo-bar-1225/baz-quux:2016-03-23
The push refers to a repository [gcr.io/foo-bar-1225/baz-quux]
762ab2ceaa70: Pushing [> ] 556 kB/154.4 MB
2220ee6c7534: Pushing [===> ] 4.82 MB/66.11 MB
f99917176817: Layer already exists
8c1b4a49167b: Layer already exists
5f70bf18a086: Layer already exists
1967867932fe: Layer already exists
6b4fab929601: Layer already exists
550f16cd8ed1: Layer already exists
44267ec3aa94: Layer already exists
bd750002938c: Layer already exists
917c0fc99b35: Layer already exists
The push stays in this state indefinitely (I've left it for an hour without a byte of progress). If I Ctrl-C kill this process and rerun it, it gets to the exact same point and again makes no progress.
The only workaround I've found is to restart my computer and re-run "Docker Quickstart Terminal". Then the push succeeds.
Is there a workaround for stalled pushes that doesn't require frequently rebooting my computer? (I'm on Mac OS X.)
This seems to be an issue to docker users on Mac have ran into previously, as can be seen in this docker thread, https://github.com/docker/docker/issues/5113
While there is no clear fix, a slightly better workaround is to restart docker machine rather than your computer each time.
You can run docker-machine restart default to reset docker to a working state.
Hope that helps.