私は、必要に応じてコンテナを実行するために、ドッカーapiと対話するためのフラスコ付きの小さなアプリケーションを作成しています。このアプリケーションをドッカーのコンテナに展開したいと思います。しかし、ローカルホスト上でroot権限を持っているので、ドッカーソケットをマウントすることは比較的悪いことを理解しました。コンテナ内のドッカークライアントと正しく対話する方法
この警告を回避するために、コンテナ内のドッカーapiにアクセスする適切な方法はありますか?
私は、必要に応じてコンテナを実行するために、ドッカーapiと対話するためのフラスコ付きの小さなアプリケーションを作成しています。このアプリケーションをドッカーのコンテナに展開したいと思います。しかし、ローカルホスト上でroot権限を持っているので、ドッカーソケットをマウントすることは比較的悪いことを理解しました。コンテナ内のドッカークライアントと正しく対話する方法
この警告を回避するために、コンテナ内のドッカーapiにアクセスする適切な方法はありますか?
なぜDockerソケットを特権のないコンテナに取り付けるのが悪い考えですか?
UNIXソケットをDockerコンテナにマウントするには、Dockerデーモンソケットのアクセス権を変更する必要があります。これは明らかに、root以外のユーザーにDockerデーモンにアクセスする権限を与える可能性があります。権限の昇格攻撃が心配な場合には問題になる可能性があります。 (source)
本当にDockerソケットを保護する必要はありますか?
これはあなたの用途によって異なります。あなたのサーバー上に多くのユーザーがいて、特にあなたのアプリケーションに影響を与える特権のないユーザーが心配している場合は、ソケットを確実に固定してください。これが完全にアプリケーションに専念している仮想マシンの場合、安全性が低い可能性があります。
どうすれば安全にソケットと対話できますか?
アクセス許可(described here)を変更し、ソケットをコンテナにマウントしてください。それは簡単です。
ソケットと安全にやり取りするにはどうすればよいですか?私はこれを行うための2つの良い方法があると思い
: