5

これは「https://stackoverflow.com/questions/36477636/how-do-i-implement-a-shared-hosting-like-service-with-docker」に関連しています。

docroot に接続できるはずの apache-php コンテナーの束と、同じディレクトリにrw接続できる 1 つの sftp コンテナーをセットアップしようとしています。rwしたがって、共有ボリュームを作成し、両方のコンテナー内にマウントする計画です (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

実際、2 つのumask行は、サンドイッチumask 0002が正しく実行されていることを確認します。ただし、bashコンテナに入ってこれを自分でテストすると、umaskが返さ022れ、ファイルを作成すると、実際には権限が付与され644ます。その後、手動umask 0002で新しいファイルが作成され、アクセス許可664(および775ディレクトリ) が作成されます。

この使用例では、両方のコンテナー (sftp と apache) が共有ボリュームで読み書きできることが重要です。それで、どうすればいいですか?

4

0 に答える 0