2016-09-29 8 views
0

私はNodejs & requestを使用してAPIコールを作成していますが、DockerレジストリコンテナIからリクエストするとすべての試みに失敗します。実行しているので、私はそれが私のレジストリ設定の誤りだと信じています。DockerレジストリリモートAPIから有効な応答を受け取ることができません

私はそれを以下のステップjust like the docステップから設定しました。

docker run -d -p 5000:5000 --restart=always --name registry registry:2 
docker pull alpine 
docker tag alpine localhost:5000/alpine 
docker push localhost:5000/alpine 

リクエストに使用しているコードは、404 not foundです。

const request = require('request') 
    request({ 
    method: 'GET', 
    uri: 'http://localhost:5000/images/json', // status 404 
    // uri: 'http://unix:/var/run/docker.sock:/images/json', // this works 
    headers: { host : 'localhost' } 
    }, (e, res, body) => { 
    if(e) return console.error(e) 
    console.log(res.statusCode == 200 ? JSON.parse(body) : res.statusCode) 
    }) 

明らかに、このコードは、私が整形式でなければならないGETリクエストを行っていることを示しています。

実行中のレジストリコンテナがリモートAPIに応答するために必要な作業はありますか?

答えて

2

Dockerレジストリには/images/json APIがなく、DockerレジストリのAPIはdockerエンジンAPIと互換性がありません。

Dockerレジストリの画像一覧を取得するには、GET /v2/_catalogをお試しください。完全な文書はhereです。

+0

ワウ。私はその事実を完全に逃したとは信じられません。クイック返信とドックリファレンスをありがとう! – MatUtter

関連する問題