2017-09-09 22 views
0

のドッキングウィンドウコンテナによって生成された内容は、私がコンテナを実行するには、次のコマンドを使用し得るとき:その後、私は、コンテナ内のプログラムを実行しパーミッション拒否されたローカルfileystem

docker run -it -v /home/:/usr/ ubuntu64 /bin/bash 

、プログラムは、いくつかのファイルを生成folder:/ usr /これも/ home /にありますが、生成されたファイルにエラーでアクセスできません:コンテナの外で許可が拒否されました。

これは、コンテナ内のルートによって生成されたファイルであるが、コンテナの外にあり、ユーザーがルート権限を持っていない可能性がありますが、それをどのように解決するのでしょうか?

私がしたいのは、コンテナの外側の(コンテナにインストールされている)プログラムによって生成されたファイルにアクセスすることです。

答えて

1

は、あなたは、ホストシステム上でls -alhをすれば今-uフラグ

docker run -it -v $PWD:/data -w /data alpine touch nouser.txt 

docker run -u `id -u` -it -v $PWD:/data -w /data alpine touch onlyuser.txt 

docker run -u `id -u`:`id -g` -it -v $PWD:/data -w /data alpine touch usergroup.txt 

を使用する必要が-u 'のid -u' ん何

$ ls -alh 
total 8.0K 
drwxrwxr-x 2 vagrant vagrant 4.0K Sep 9 05:22 . 
drwxrwxr-x 30 vagrant vagrant 4.0K Sep 9 05:19 .. 
-rw-r--r-- 1 root root  0 Sep 9 05:21 nouser.txt 
-rw-r--r-- 1 vagrant root  0 Sep 9 05:21 onlyuser.txt 
-rw-r--r-- 1 vagrant vagrant 0 Sep 9 05:22 usergroup.txt 
+0

: 'IDの-g' のために使用? 「id -u」はどういう意味ですか? – hunter

+0

idコマンドは、現在のユーザに関する詳細を通知します。 'id -u'はそれにUIDを与え、' id -g'はそのGIDを与えます –

+0

これは、私が投稿したコマンドでバックチックがすることです。内部のコードを評価し、ブロックをコマンドの出力に置き換えます –

関連する問題