设置基于 Debian 8 的 Docker 映像,特别是添加了 uwsgi 的 nginx 映像。相关 Web 服务将通过 uwsgi 作为 www-data 运行。使用 Dockerfile 中的 COPY 命令将该服务复制到容器中。
使用 nsenter,我能够连接到容器并以 www-data 用户身份进行调试,这非常有帮助,但我陷入了困境。
Web 服务可执行文件被复制到/var/www/服务目录,一切都很好。困难的是它无法加载库/var/www/服务/数据库尽管它归www-数据:
www-data@4b8d07cf75a3:~$ ls -la /var/www/service/
total 36
drwxr-xr-x 20 www-data www-data 4096 Jun 7 13:59 .
drwxr-xr-x 5 root root 4096 Jun 7 13:49 ..
-rwxr--r-- 1 www-data www-data 2682 Jun 6 02:45 app.py
drwxr-xr-x 2 www-data www-data 4096 Jun 7 13:59 database
www-data@4b8d07cf75a3:~$ ls -la /var/www/service/database/
ls: cannot open directory /var/www/service/database/: Permission denied
app.py 代码启动了,但无法访问数据库目录,除非我当时是 root 身份,否则也无法访问。
我没有看到任何类似文件 acl 的东西,所以我没有主意。有什么帮助吗?