2016-09-30 105 views
0

我在我的PC(Fedora 24)中登录为rperez。我已经安装泊坞窗,用于能够通过这个用户运行,所以我运行一个容器如下:Docker卷选项创建文件夹为“root”用户

$ docker run -d \ 
      -it \ 
      -e HOST_IP=192.168.1.66 \ 
      -e PHP_ERROR_REPORTING='E_ALL & ~E_STRICT' \ 
      -p 80:80 \ 
      -v ~/var/www:/var/www \ 
      --name php55-dev reypm/php55-dev 

通知的$标志意味着我运行的命令作为非root用户(使用#)。上面的命令创建了以下目录:/home/rperez/var/www,但所有者设置为root我相信这是因为docker作为root用户在场景后面运行。

有了这个设置,我不能创建~/var/www下一个文件rperez因为业主是root所以...

什么是解决这个问题的正确方法?我已阅读thisthis,但没有那么有用。

任何帮助?

+0

你的意思'CHOWN $(WHOAMI)/路径/到/你/ DIR '? – kxxoling

+0

@kxxoling我知道这是正确的命令,但为什么我需要在每个由Docker创建的目录上始终运行这样的命令?应该是一个命令或一个标志或工作,以避免这种情况,这就是我正在寻找的:) – ReynierPM

+0

您可以在运行容器之前创建卷目录,以便目录将由当前用户拥有。 – kxxoling

回答

0

如讨论here,这是docker的预期行为。您可以在运行泊坞窗命令之前创建目标卷目录或所有者更改为当前用户是通过泊坞窗创建的目录后:

chown $(whoami) -R /path/to/your/dir 
相关问题