2016-08-26 3 views
0

ユーザーネームスペースの再マップを有効にしていますが、ドッカーコンテナーのプロセスは「ホスト」のUIDで実行されています。Docker:デーモンで有効になっていてもユーザーネームスペースの再マッピングが機能していません

OSは次のとおりです。

> sudo docker --version 
Docker version 1.12.0, build 8eab29e 

dockerd構成とUbuntuの4.4.0-21の16.04は、つまり、私は手動で実行したとき

> grep "DOCKER_OPTS" /etc/default/docker 
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --ipv6 --userns-remap=default" 

下位のUIDとGIDマッピングは、作成されているあります上記のdocker opts文字列を使用します。

> grep "dock" /etc/sub* 
/etc/subgid:dockremap:362144:65536 
/etc/subuid:dockremap:362144:65536 

ただし、I(再)開始時にサブUID/GIDは作成されませんでしたサービスとしてのckerd - 手動で実行する必要がありました。

また、dockerdを再起動した後、コンテナ内のすべてのプロセスは再マップされた範囲にはなくホストの1to1になります。つまり、コンテナルートプロセスは依然としてUID = 0です。

> ps -xaf --forest -o pid,ruid,ruser,cmd | grep top 
PID RUID RUSER CMD 
23015  0 root  |   \_ sudo docker run -t -i ubuntu /usr/bin/top 
23016  0 root  |    \_ docker run -t -i ubuntu /usr/bin/top 

どうやら、ホスト上の容器の外にチェックしたときにちょうど

> sudo docker run -t -i ubuntu /usr/bin/top 
    ... 

トップ

例えば、試験容器のランニングは、UID = 0により、トップ走行を持って、下位のUIDへの再マッピングではありませんドッカーをデーモンとして実行しているときに私のために働いていますか?

答えて

0

/etc/default/dockerは、systemd経由でdockerdを実行しているときには使用されません。

このように、私がdocker-config(以前に適用したdist-upgrade後)で行った変更は適用されません。 systemdとドッキングウィンドウデーモンを設定するための

設定ドロップでファイル(複数可)と https://docs.docker.com/engine/admin/systemd/

でdocumantationが /etc/systemd/system/docker.service.d

に行く見ます
関連する問題