このコマンドdocker images
を使用して、ローカルホストにあるDockerイメージを一覧表示できます。
ここで、FirefoxまたはChromeでHTTP GETリクエストを送信して、リモートサーバーから同じ情報を取得したいと思います。Dockerはこれを行うためのRESTAPIを提供しますか?
たくさん検索しました。例:Docker EngineSDKとDockerAPIを使用した例
これは、次のような方法を提供します。
curl --unix-socket /var/run/docker.sock http:/v1.24/containers/json
私はUnixソケットについて少し知っていますが、これが私が望んでいることではないと思います。URL(http:/v1.24/containers/json)は非常に奇妙で、サーバー名すら含まれていません。リモートサーバーでは動作しないと思います。(ローカルサーバー上で機能します。)
Dockerがこのトピックに関して提供する公式ドキュメントはありますか?
Dockerデーモンをポートに公開する必要があります。
複数の-Hオプションを使用して、複数のソケットを同時にリッスンするようにDockerデーモンを構成できます。
デフォルトのUnixソケットを使用して、このホストの2つの特定のIPアドレスでリッスンします。
$ sudo dockerd -H unix:///var/run/docker.sock -H tcp://192.168.59.106 -H tcp://10.10.10.2
Dockerクライアントは、DOCKER_HOST環境変数を尊重して、クライアントの-Hフラグを設定します。次のいずれかのコマンドを使用します。
https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-socket-option
systemdドロップインを作成してこれを行う必要があります。
mkdir -p /etc/systemd/system/docker.service.d/
cat > /etc/systemd/system/docker.service.d/10_docker.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:2376
EOF
次に、Dockerをリロードして再起動します。
systemctl daemon-reload
systemctl restart docker
注:この方法でホストを公開することになりますが、本番環境ではこの方法で公開しないでください。以前に共有したリンクでこれについてもっと読んでください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加