Dockerをnon-root userとして実行するように設定しました。今では普通のユーザーとしてコンテナを始めることができ、もっと快適に感じることができます。マウントされたボリュームに対するドッカーのアクセス許可。彼らはなぜ根に属しているのですか?
ホスト上の一方[email protected]:~$ docker run -it -v ~/test:/test alpine:3.6 sh
/# touch /test/test1
:
[email protected]:~$ ls -l ~/test/
total 0
-rw-r--r-- 1 root root 0 Jul 31 15:50 test1
はなぜファイルがroot
に属しているのですか?どのように私はそれらを作ることができ、コンテナ内のすべての作成されたファイルはme
に属していますか?
興味深い事実:これはDebian Linuxで発生します。逆に、Macで同じことをすると、作成されたファイルはme
に属します。
本当にありがとう、ありがとう、本当に理解してくれてありがとう!ユーザーネームスペースを使用することによる潜在的な否定的な(セキュリティ、パフォーマンス)影響はありますか?サーバ側では、ホスト側のマウントされたボリュームにあるファイルにアクセスしたり変更したりするたびに 'sudo'する必要がありました。 – qqilihq
ユーザーネームスペースマッピングの前に含意がありました。コンテナから逃げる何かがルートアクセスを直接得るでしょう。しかし、ユーザーの名前空間では、たとえコンテナが何らかの形でホストにアクセスしたとしても、ルートにアクセスすることはできません。だから、それを使うことははるかに安全です。 sudoについて、現在のユーザーをuserns-remapとして使用する場合、sudoなしでshoudlを使用できますか? –
Re 'sudo':まあ、それは私の質問の背後にある元の意図でした:)今までの情報をありがとう! – qqilihq