Docker Registryを起動するためのdocker-compose.ymlを書く

前回、Docker Registryをローカル環境に構築しましたが、このままではdockerコマンドのオプションの指定が煩雑です。
第一、覚えられない。 🙁

そこで、docker-compose.ymlで起動できるように以下のようなdocker-compose.ymlを書きました。

■docker-compose.yml

registry:
  image: registry:2.6
  ports:
    - "5000:5000"
  environment:
    REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
    REGISTRY_HTTP_TLS_KEY: /certs/domain.key
  volumes:
    - ./registry_certs:/certs
    - ./registry:/var/lib/registry
  restart: always

ディレクトリ構造は以下のようになっています。

.
├── docker-compose.yml
├── registry (イメージを格納するディレクトリ)
└── registry_certs (自己署名証明書/秘密鍵を格納するディレクトリ)
    ├── domain.crt (自己署名証明書)
    └── domain.key (秘密鍵)

前回はrootで作業したので、そのときに作成したdomain.crtとdomain.keyを一般ユーザーのディレクトリにコピーしておきます。

この状態でdoker-composeコマンドを実行すると、

$ docker-compose up -d

Docker Registryが起動しました。