2017-06-11 9 views
1

私はDockerを設定し、example.com:5000にプライベートレポジトリを実行しました。私はを押してリポジトリに画像を引くことができDockerのプライベートレジストリの管理方法

registry: 
    restart: always 
    image: registry:2 
    ports: 
    - 5000:5000 
    environment: 
    REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt 
    REGISTRY_HTTP_TLS_KEY: /certs/domain.key 
    REGISTRY_AUTH: htpasswd 
    REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd 
    REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm 
    volumes: 
    - /path/data:/var/lib/registry 
    - /path/certs:/certs 
    - /path/auth:/auth 

が、私はにdocker search example.com:5000/libraryを取得することはできません。https://docs.docker.com/registry/deploying/

そしてドッカ-compose.ymlを使用しています。私はここに記載されている指示に従っ走る私は:Error response from daemon: Unexpected status code 404を得る。

私は次のような結果を得るエンドポイントにカールポイント:

$ curl -v -X GET http://example.com:5000/v2/images 
Note: Unnecessary use of -X or --request, GET is already inferred. 
* Trying 37.139.20.160... 
* Connected to example.com (192.167.201.2) port 5000 (#0) 
> GET /v2/images HTTP/1.1 
> Host: domain.com:5000 
> User-Agent: curl/7.47.0 
> Accept: */* 
> 

* Connection #0 to host example.com left intact 

どのように私はリポジトリを管理できるように、検索コマンドが動作することができますか?エンドポイントのAPIドキュメントはどこにありますか?または、Dockerプライベートレポを管理するためのより良い方法がありますか?

答えて

0

は、あなたがドッカーレジストリはGET /v1/searchエンドポイントのデータベースにインデックスリポジトリ情報をオプションすることができますSearch-engine options

に応じて、検索オプションを有効にする必要がありそうです。

(私はV2 APIで検索が表示されていない。次のことができlist tags

search_backend設定は、使用する検索のバックエンドを選択します。
search_backendが空の場合、インデックスは作成されず、検索エンドポイントは常に空の結果を返します。例えば

、初期化時にSQLAlchemy database

common: 
    search_backend: sqlalchemy 
    sqlalchemy_index_database: sqlite:////tmp/docker-registry.db 

を使用して、SQLAlchemyIndexクラスは、データベースのバージョンをチェックします。データベースがまだ存在しない場合(または存在していてもバージョンテーブルがない場合)、SQLAlchemyIndexはデータベースと必須テーブルを作成します。

関連する問題