2016-01-31 14 views
28

docker-compose.ymlファイルにdocker.sockをマウントする実際の理由を理解しようとしています。それは自動発見のためですか?誰でもdocker.sockを説明できます

volumes: - /var/run/docker.sock:/var/run/docker.sock

答えて

46

docker.sockドッカーデーモンがを聴いているUNIXソケットです。 Docker APIの主要なエントリーポイントです。 TCPソケットにすることもできますが、セキュリティ上の理由からDockerはデフォルトでUNIXソケットを使用します。

Dockerクライアントはこのソケットを使用してデフォルトでドッカーコマンドを実行します。これらの設定をオーバーライドすることもできます。

Dockerソケットをコンテナ内にマウントする必要がある理由はさまざまです。別のコンテナ内から新しいコンテナを起動する。自動サービスの検出とログの目的に使用します。これは攻撃面を増加させるので、Dockerソケットをコンテナ内にマウントする場合、そのコンテナ内で信頼できるコードが実行されている場合は注意する必要があります。そうしないとDockerはデフォルトですべてのコンテナをrootとして起動するため、

Dockerソケットはほとんどのインストールでドッカーグループを持っているため、そのグループ内のユーザーはroot権限なしでdockerソケットに対してdockerコマンドを実行できますが、dockerデーモンはrootとして効果的に実行されるため、名前空間とcgroup)。

私はそれがあなたの質問に答えることを願っています。

さらに詳しい情報:https://docs.docker.com/engine/reference/commandline/dockerd/#examples

+1

リンク切れ。予想されるものとおそらく同様の情報があります:https://docs.docker.com/engine/admin/ –

関連する問題