docker-composeでボリュームのユーザーとグループを指定するには?

docker-composeでボリュームのユーザーとグループを指定するには?

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を使用します。

ベストアンサー1

おすすめ記事