Issue #5385
closedno content after docker remote sync
Description
I've sync'd a docker remote repo and added it to distro:
/pulp/api/v3/distributions/docker/docker/d424b0a5-5580-4443-a15e-f711e753ceb6/
the name of the distro is test-docker and the base_path is docker/test. The syncing task completed. Yet I cannot on the content server get any content. I've tried the following urls on port 24816
/pulp/content/test-docker/
/pulp/content/docker/test/
/pulp/content/test-docker/$repo
/pulp/content/docker/test/$repo
and they all give me 404s.
Updated by jaymzh over 4 years ago
It was pointed out to me that these are at a different path (/v2/base_path/blobs/) but that's ALSO not working.
I ALSO tried using docker pull:
$ docker pull 10.224.41.73:24816/docker/test
Using default tag: latest
Error response from daemon: error parsing HTTP 404 response body: invalid character ':' after top-level value: "404: Not Found"
Updated by ipanova@redhat.com over 4 years ago
Hi, thank you for the bug report. Make sure that your distribution was created with correct details. Here's a distribution created with same name and base_pat you mentioned
$ http GET http://localhost:24817/pulp/api/v3/distributions/docker/docker/e5a0d329-c165-47c8-b860-35588688b4be/
HTTP/1.1 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Connection: close
Content-Length: 350
Content-Type: application/json
Date: Thu, 05 Sep 2019 09:27:01 GMT
Server: gunicorn/19.9.0
Vary: Accept, Cookie
X-Frame-Options: SAMEORIGIN
{
"_created": "2019-09-05T09:26:43.080243Z",
"_href": "/pulp/api/v3/distributions/docker/docker/e5a0d329-c165-47c8-b860-35588688b4be/",
"base_path": "docker/test",
"content_guard": null,
"name": "test-docker",
"registry_path": "localhost:24816/docker/test",
"repository": "/pulp/api/v3/repositories/f0af12f3-ee51-41a2-9071-b96bd5a1a840/",
"repository_version": null
}
If you don't specify any tag when performing docker pull it would try to pull latest tag, but not all of the repositories have it:
$ sudo docker pull localhost:24816/docker/test
Using default tag: latest
Trying to pull repository localhost:24816/docker/test ...
Pulling repository localhost:24816/docker/test
Error: image docker/test:latest not found
(pulp) [vagrant@pulp3-source-fedora29 ~]$ sudo docker pull localhost:24816/docker/test:manifest_a
Trying to pull repository localhost:24816/docker/test ...
sha256:21e3caae28758329318c8a868a80daa37ad8851705155fc28767852c73d36af5: Pulling from localhost:24816/docker/test
Digest: sha256:21e3caae28758329318c8a868a80daa37ad8851705155fc28767852c73d36af5
Status: Downloaded newer image for localhost:24816/docker/test:manifest_a
(pulp) [vagrant@pulp3-source-fedora29 ~]$ sudo docker pull localhost:24816/docker/test:manifest_a
Trying to pull repository localhost:24816/docker/test ...
sha256:21e3caae28758329318c8a868a80daa37ad8851705155fc28767852c73d36af5: Pulling from localhost:24816/docker/test
Digest: sha256:21e3caae28758329318c8a868a80daa37ad8851705155fc28767852c73d36af5
Status: Image is up to date for localhost:24816/docker/test:manifest_a
If you want to talk through API you should follow standard api endpoints specified in docker api spec https://docs.docker.com/registry/spec/api/
$ http http://localhost:24816/v2/docker/test/tags/list
HTTP/1.1 200 OK
Content-Length: 139
Content-Type: application/json; charset=utf-8
Date: Thu, 05 Sep 2019 09:32:17 GMT
Server: Python/3.7 aiohttp/3.5.4
{
"name": "docker/test",
"tags": [
"ml_iii",
"manifest_a",
"manifest_c",
"ml_iv",
"ml_ii",
"ml_i",
"manifest_d",
"manifest_b",
"manifest_e"
]
}
Please re-try and let me know if the issue persists. Thank you.
Updated by ipanova@redhat.com over 4 years ago
- Status changed from NEW to CLOSED - WORKSFORME
please re-open it you hit it again.
Updated by ipanova@redhat.com over 4 years ago
- Project changed from Docker Support to Container Support