Docker for Windowsを実行している開発者は、Docker設定> [全般]タブで[TLSを使用せずにtcp:// localhost:2375でデーモンを公開する]オプションを有効にする必要があります。
警告があります:
TCP TLSなしでデーモンを公開すると、レガシークライアントがデーモンに接続するのに役立ちます。また、リモートコード実行攻撃に対して脆弱になります。注意して使用してください。
私の質問は:
認証なしでDockerデーモンを公開する場合(これはオプションです)、HTTPリクエストをlocalhost:2375
はホスト上でDockerコマンドを実行できるようになります(DockerデーモンはREST APIなのでHTTPコマンドを受け取ります)
問題の設定によっては、その結果が悪い場合があります。たとえば、攻撃者はコンテナを起動し、コンテナが制御するシステムに接続して内部ネットワークへのアクセスを許可する可能性があります。
攻撃者はまた、基礎となるホストからディレクトリにマップするコンテナーを開始し、それらが制御するコンテナーに侵入する可能性があります。
これらのシナリオの可能性は、実際の脅威モデルによって異なりますが、それは起こり得ることです。
緩和策については、TLS証明書を介したクライアント証明書認証を使用するようにDocker Daemonを設定できます。その設定に関する詳細情報 here
もちろん、開発者が使用する必要のあるツールには機能しない可能性があります。
代替オプション(Windowsコンテナーではなく、開発中のLinuxコンテナーであると想定)は、Visual Studio Codeの機能を使用して、リモートDockerインスタンスに対して開発することができます(詳細 こちら )