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

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

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"}]}

删除失败,这是为咋的

巴扎黑
巴扎黑

répondre à tous(2)
大家讲道理

Le problème réside dans l'étape d'obtention de digest. Dans le registre 2.3 et les versions ultérieures, afin d'éviter toute suppression accidentelle, un en-tête spécial doit être fourni lors de la récupération digest :

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

Sinon, un digest incorrect sera renvoyé. Par conséquent, la déclaration prenant digest doit être sous la forme suivante :

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

Le digest obtenu de cette manière est correct.

Référez-vous à la documentation officielle : 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

Erreur : 37ba01d64aec14577e9e55ea2b2bfc4487eb070fad1b1c40e76e7cbddc916e6a
/usr/bin/docker-current : réponse d'erreur du démon : valeur de champ d'en-tête non valide "oci erreur d'exécution : conteneur_linux.go:247 : le démarrage du processus du conteneur a provoqué "process_ linux.go :359 : conteneur l'initialisation a provoqué "rootfs_linux.go:54 : montage de \"/root/config.yml\" sur rootfs \"/var/lib/docker/devicemapper/mnt/2e35c587d0e8ff8ac8811a58b23cd3a489ff04b4eaa47b3d25fda2bd46b7646b/rootfs\" au niveau du dock \"/var/lib/ euh/ DeviceMapper / mnt / 2e35c587d0e8ff8ac8811a58b23cd3a489ff04b4eaaa47b3d25fda2bd46b7646b / rootfs / etc / docker / registry / config.yml \ "causé \" pas un répertoire \ "" n ". ? Je souhaite également modifier config.yml. Merci de me donner quelques conseils

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal