5

这与“ https://stackoverflow.com/questions/36477636/how-do-i-implement-a-shared-hosting-like-service-with-docker ”有关。

我正在尝试设置一堆应该能够到rwdocroot 的 apache-php 容器,以及一个也应该能够到rw同一目录的 sftp 容器。因此,计划是创建一个共享卷,并将其安装在两个容器中(对于 sftp 容器,显然是在不同的位置)。我修改了官方的 php:7-apache 启动脚本,如下所示:

#!/bin/bash
set -e

### > My stuff
chmod g+s /var/www/html
chown -R :2048 /var/www/html
umask
umask 0002
umask
### < My stuff

# Apache gets grumpy about PID files pre-existing
rm -f /var/run/apache2/apache2.pid

exec apache2 -DFOREGROUND

事实上,这两条umask线证实了夹层umask 0002运行正确。但是,当我bash进入容器并自己测试时,umask返回022,如果我创建任何文件,它们实际上会获得权限644。然后我可以手动umask 0002创建任何具有权限664(和775目录)的新文件。

对于这个用例,两个容器(sftp 和 apache)都可以在共享卷中读写是至关重要的。那么,我该怎么做呢?

4

0 回答 0