markdown Docker Registryの使い方
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Docker Registryの使い方相关的知识,希望对你有一定的参考价值。
# Docker Registry の使い方
## これは何?
- Docker Registry の導入方法と設定のサンプル
## Docker Registry を起動する
``` sh
# 削除するためには REGISTRY_STORAGE_DELETE_ENABLED=true が必要
$ docker run -d -p 5000:5000 --name registry -e REGISTRY_STORAGE_DELETE_ENABLED=true registry:2
```
## イメージを push する
``` sh
# 適当なイメージ (ここでは alpine:latest) を Docker Hub から pull する
$ docker pull alpine:latest
# タグを付けて push する
$ docker tag alpine:latest localhost:5000/alpine:latest
$ docker push localhost:5000/alpine:latest
```
## イメージを削除する
``` sh
# リポジトリ一覧を取得する
$ curl -X GET http://localhost:5000/v2/_catalog
{"repositories":["alpine"]}
# 指定したリポジトリのタグ一覧を取得する
$ curl -X GET http://localhost:5000/v2/alpine/tags/list
{"name":"alpine","tags":["latest"]}
# 指定したイメージのダイジェストを取得する
# レスポンスヘッダ Docker-Content-Digest の値がダイジェスト
$ curl -X GET -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -s -D - http://localhost:5000/v2/alpine/manifests/latest | grep Docker-Content-Digest:
Docker-Content-Digest: sha256:d05ecd4520cab5d9e5d877595fb0532aadcd6c90f4bbc837bc11679f704c4c82
# イメージを削除する
# 202 Accepted が返ってくればOK
$ curl -X DELETE -D - http://localhost:5000/v2/alpine/manifests/sha256:d05ecd4520cab5d9e5d877595fb0532aadcd6c90f4bbc837bc11679f704c4c82
# registryコンテナでGC(Garbage collection)を起動させる
$ docker exec registry sh -c "/bin/registry garbage-collect /etc/docker/registry/config.yml"
```
## すべてのタグを削除してもリポジトリが残るんだけど?
- registryコンテナに入って削除するしかなさそう
``` sh
$ docker exec -it registry sh
$ rm -rf /var/lib/registry/docker/registry/v2/repositories/alpine/
```
## イメージの日付を取得したいんだけど?
- 1つずつ取るしかなさそう...
```
$ curl -s -X GET "http://localhost:5000/v2/alpine/manifests/latest" | jq -r '.history[].v1Compatibility' | jq -r '.created' | sort | tail -n 1
```
## 参考
- [Docker Registry | Docker Documentation](https://docs.docker.com/registry/)
- [Delete repository with v2 REST API? (when images, tags are removed and even GC has run) · Issue #1108 · docker/docker-registry](https://github.com/docker/docker-registry/issues/1108)
- [GoでDockerPrivateRegistryのイメージを削除したい - Qiita](https://qiita.com/lightstaff/items/f503a82478b3272d9427)
- [How to find the creation date of an image in a (private) Docker registry (API v2)? - Stack Overflow](https://stackoverflow.com/questions/32605556/how-to-find-the-creation-date-of-an-image-in-a-private-docker-registry-api-v2)
以上是关于markdown Docker Registryの使い方的主要内容,如果未能解决你的问题,请参考以下文章
markdown ブロック要素の縦の中央寄せ
markdown 【Lifcycle】window.onload,jQueryの$(文件).readyの比较
markdown ActiveRecord的地方の句の条件を动的にしたい
markdown AWS VPCの作成からEC2インスタンスの起动,ELBの设定まで
markdown VSCodeの设定
markdown 红宝石の条件分岐