docker-composeを介してdocker環境を起動します。これは mysql と nginx プロセスを提供します。後者のインストールには、サービスが提供されるフォルダへのパスが含まれます。
問題は、nginxがユーザー "nginx"として実行されると、ボリュームがxfs:xfsとしてマウントされることです。ディスクに書き込む必要があるPHPスクリプトがあるため、問題が発生します。
ホストオペレーティングシステム(開発目的でVagrantで実行されているLinux)では、フォルダの所有者はwww-data:www-dataです。
適切なユーザーとしてボリュームをマウントする方法がわかりません。
私の環境は次のようにロードされます。
docker-compose -f docker-compose-dev.yml up -d
docker-compose-dev.ymlファイルのnginxイメージ部分は次のとおりです。
webserver:
container_name: somedomain_website
image: richarvey/nginx-php-fpm:latest
working_dir: /application
environment:
VIRTUAL_HOST: webdev.somedomain.com
LETSENCRYPT_HOST: somedomain.com
LETSENCRYPT_EMAIL: [email protected]
# PGID: 33
# PUID: 33
volumes:
- ../www/2019:/var/www/html/2019
- ./phpdocker/nginx/nginx_dev.conf:/etc/nginx/sites-available/default.conf
- ./phpdocker/nginx/nginx_dev.conf:/etc/nginx/sites-enabled/default.conf
- ./php/php.ini:/usr/local/etc/php/conf.d/99-overrides.ini
ports:
- "80:80"
PGID
ところで、指定しようとしましたが、PUID
これによりnginxが中断されました。
2019-02-11 05:35:38,584 INFO exited: php-fpm (exit status 78; not expected)
2019-02-11 05:35:41,595 INFO spawned: 'php-fpm' with pid 25
[11-Feb-2019 05:35:41] ERROR: [pool www] cannot get uid for user 'nginx'
[11-Feb-2019 05:35:41] ERROR: FPM initialization failed
2019-02-11 05:35:41,635 INFO exited: php-fpm (exit status
誰でもこの問題を解決する方法を提案できますか?
Ubuntu 18.04.1 LTSでdocker-compose 1.17.1を使用します。