【发布时间】:2015-06-11 07:03:32
【问题描述】:
我已经使用纯数据容器对 PHP 应用程序进行了 docker 化。我使用了这个 (docker-symfony) 容器堆栈。
这是对纯数据容器的简单定义:
FROM debian:jessie
MAINTAINER Vincent Composieux <vincent.composieux@gmail.com>
VOLUME /var/www/symfony
除了所有权和权限之外,一切都非常好。我注意到,当我将卷(我的本地目录)挂载到纯数据容器时,挂载的文件仍然由主机上的当前用户拥有,在容器内无法识别。
例如,如果我以docker-compose up 作为ltarasiewicz 启动容器,然后登录到数据容器,我可以看到已挂载的文件的所有权设置为:
drwxrwxr-x 7 1000 1000 4096 Jun 10 21:27 symfony
1000 中的uid 和gid 对应于我主机的用户uid 和gid。因为容器内没有这样的用户,所以只显示 symfony 目录的 ID。这使得应用程序无法运行。
所以我的问题是如何将卷安装到仅数据容器并为已安装的文件分配正确的所有权,例如root:www-data 或我选择的任何其他用户。
【问题讨论】:
标签: docker dockerfile docker-compose