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 红宝石の条件分岐