Здравствуйте. Я пытаюсь сделать на своей VPS хостинг на основе Docker контейнеров.
1) Есть контейнер с Nginx, который слушает порт 80, в контейнер через bind mount прокинуть папку с конфигами (/etc/nginx/conf.d) и директорию с сайтами.
2) Есть несколько однотипных контейнеров с Apache 2.4 + mod_php (несколько версий PHP). Они слушают порты 127.0.0.1:
{версия PHP}
В конфиге Nginx я создаю несколько upstream.
upstream php7.1 {
server 127.0.0.1:71:80;
}
upstream php7.0 {
server 127.0.0.1:70:80;
}
Потом запросы перенаправляю к Apache
server {
listen 80;
server_name example.com;
location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {
root ПУТЬ_ДО_КОРНЕВОГО_КАТАЛОГА_САЙТА;
}
location / {
proxy_pass php7.0;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache_bypass $http_upgrade;
}
}
В контейнере Docker у меня работают Apache MPM-ITK + PHP7.0. Мне надо будет с помощью bind mount прокидывать директорию с сайтами в контейнер и папку с конфигами Apache, а потом создавать в контейнере пользователя с тем UID и GID, который у Apache в конфиге виртуального хоста указан (в директиве AssignUserID)?