I’m trying to run nginx, mysql, and two php-fpm (v8 and v5) in three containers.
Container 1: nginx + mysql
Container 2: phpfpm v8
Container 3: php-fpm v5 (cloned phpfpm module and adjusted to support php 5).
I want nginx to proxy to the fpm daemons with a unix domain socket.
For some undisclosed reason, the
config.services.phpfpm.pool.<name>.socket option is read-only, and hard-coded to use
/run/phpfpm as the runtime directory. So, in order to give the nginx container access to the phpfpm socket in the phpfpm v8 container, I’m trying to mount the
/run folder of all three containers to the same host folder
However, all three containers fail to start with the message:
Feb 13 13:07:50 nixos-test systemd: Failed to start Container 'antique-web-app-phpm80'. Feb 13 13:07:50 nixos-test container antique-web-app: Failed to mount n/a (type n/a) on /run/host (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_REMOUNT|MS_BIND ""): No such file or directory
The host folder exists. I have a host systemd service that starts before the containers to create the
I’m not sure why I can’t bind mount
/run inside the container. Can someone shed some light on what’s going on here?