Docker 卷选项以“root”用户身份创建文件夹

Rey*_*rPM 5 linux docker docker-volume docker-container

我以rperez. 我已经设置了 Docker 以便能够通过这个用户运行,所以我正在运行一个容器,如下所示:

$ 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
Run Code Online (Sandbox Code Playgroud)

请注意该$符号表示我以非 root 用户身份运行命令(使用#)。上面的命令创建以下目录:/home/rperez/var/www但所有者设置为root我相信这是因为dockerroot后台以用户身份运行。

有了这个设置,我无法在下面创建文件~/var/wwwrperez因为所有者是root如此......

处理这个问题的正确方法是什么?我已经阅读了这个这个,但不是很有帮助。

有什么帮助吗?

kxx*_*ing 8

正如此处所讨论的,这是 docker 的预期行为。您可以在运行 docker 命令之前创建目标卷目录,或者在 docker 创建目录后将所有者更改为当前用户:

chown $(whoami) -R /path/to/your/dir
Run Code Online (Sandbox Code Playgroud)