配置文件挂载到本地的宿主机了
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"}]}
删除失败,这是为咋的
大家讲道理2017-04-24 16:02:51
The problem is that when fetching digest
的那一步。在 registry 2.3
及其以后的版本,为了防止误删除,在取 digest
, a special header must be provided:
Accept: application/vnd.docker.distribution.manifest.v2+json
Otherwise an error digest
。因此,取 digest
will be returned. Statements should use the following form:
curl --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
-I \
-X HEAD http://127.0.0.1:6000/v2/myfirstimage/manifests/latest
The digest
obtained in this way is correct.
Refer to the official documentation: https://docs.docker.com/regis...
高洛峰2017-04-24 16:02:51
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
Error: 37ba01d64aec14577e9e55ea2b2bfc4487eb070fad1b1c40e76e7cbddc916e6a
/usr/bin/docker-current: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:35 9: container init caused "rootfs_linux .go:54: mounting \"/root/config.yml\" to rootfs \"/var/lib/docker/devicemapper/mnt/2e35c587d0e8ff8ac8811a58b23cd3a489ff04b4eaa47b3d25fda2bd46b7646b/rootfs\" at \"/var/lib/docker/devicemapper/m nt/ 2e35c587d0e8ff8ac8811a58b23cd3a489ff04b4eaa47b3d25fda2bd46b7646b/rootfs/etc/docker/registry/config.yml\" caused \"not a directory\"""n". What's going on? ? I also want to modify config.yml. Please advise