docker删除仓库中的镜像问题
巴扎黑
巴扎黑 2017-04-24 16:00:51
0
2
959

配置文件挂载到本地的宿主机了

docker run -d -p 6000:5000 --restart=always --name registry -v `pwd`/config.yml:/etc/docker/registry/config.yml registry:2

修改过配置文件

查看仓库中的镜像信息

 curl -X GET http://127.0.0.1:6000/v2/_catalog
{"repositories":["myfirstimage","myfirstimage_2","myfirstimage_3"]}

获取digest值

curl  -I -X GET http://127.0.0.1:6000/v2/myfirstimage/manifests/latest                                                                 
HTTP/1.1 200 OK
Content-Length: 5559
Content-Type: application/vnd.docker.distribution.manifest.v1+prettyjws
Docker-Content-Digest: sha256:3a07b4e06c73b2e3924008270c7f3c3c6e3f70d4dbb814ad8bff2697123ca33c
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:3a07b4e06c73b2e3924008270c7f3c3c6e3f70d4dbb814ad8bff2697123ca33c"
X-Content-Type-Options: nosniff
Date: Sun, 31 Jul 2016 11:09:22 GMT

删除测试

curl  -X DELETE http://127.0.0.1:6000/v2/myfirstimage/manifests/sha256:3a07b4e06c73b2e3924008270c7f3c3c6e3f70d4dbb814ad8bff2697123ca33c
{"errors":[{"code":"MANIFEST_UNKNOWN","message":"manifest unknown"}]}

删除失败,这是为咋的

巴扎黑
巴扎黑

membalas semua(2)
大家讲道理

Masalahnya terletak pada langkah mendapatkan digest. Dalam pendaftaran 2.3 dan versi yang lebih baru, untuk mengelakkan pemadaman tidak sengaja, pengepala khas mesti disediakan semasa mengambil digest:

Accept: application/vnd.docker.distribution.manifest.v2+json

Jika tidak digest yang salah akan dikembalikan. Oleh itu, pernyataan yang mengambil digest hendaklah dalam bentuk berikut:

curl --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
  -I \
  -X HEAD http://127.0.0.1:6000/v2/myfirstimage/manifests/latest

digest yang diperoleh dengan cara ini adalah betul.

Rujuk dokumentasi rasmi: https://docs.docker.com/regis...

小葫芦

docker run -d -p 6000:5000 --restart=always --name registry6 -v pwd/config.yml:/etc/docker/registry/config.yml docker.io/registry:2.5.0

Ralat: 37ba01d64aec14577e9e55ea2b2bfc4487eb070fad1b1c40e76e7cbddc916e6a
/usr/bin/docker-current: Ralat tindak balas daripada ralat medan daemon:dgoci: dalam "container valid menyebabkan "process_linux.go :359: container init menyebabkan "rootfs_linux.go:54: mounting \"/root/config.yml\" ke rootfs \"/var/lib/docker/devicemapper/mnt/2e35c587d0e8ff8ac8811a58b23cd3a489ff04b4eaa47b3d25b6bda"/do cker/ devicemapper/mnt/2e35c587d0e8ff8ac8811a58b23cd3a489ff04b4eaa47b3d25fda2bd46b7646b/rootfs/etc/docker/registry/config.yml\" menyebabkan \"bukan direktori".

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan