3 сервиса: nginx, php и nodejs. Как сбилдить php и ноду и чтобы потом их код был доступен для nginx?
Чем деплоите? Docker compose, kubernetes?
docker compose
У вас в yaml файле сервисы, по их имени будут созданы алиасы и можно будет обращаться к ним по этому имени. В образах пробросьте порт Например services: php: php: build: docker/images/php/5.6-fpm node В nginx можете сделать proxy_pass http://node
Да так есть, но вот с деплоем не понятно. Например как сделать доступным после билда node modules для Nginx если он в другом контейнере
Зачем nginx эта директория? Но если очень нужно сделайте volume который потом примонтируйте к node и nginx
app: image: busybox volumes: - ./src/node_modules.:/var/www/node_modules nginx: volumes_from: - app
Понятно, спасибо большое за помощь)
в данном случае лишь создается пустая папка на хосте которая перезаписывает содержимое в контейнере(
В yaml запись вида /local/path:/container/path Укажите первым параметром путь до директории, где находятся ваши node_modules
у меня в репозиторий без node_modules, он только потом создается по ходу билда
Тогда используйте multistage build для образа с nginx, чтобы из собранного образа ноды скопировать нужную директорию в nginx
Или при сборке образа ноды копируйте node_moduled в примонтированный раздел, который шарится с nginx
И зачем nginx понадобился node_modules?
ну это больше для php приложения, там его сервис тоже есть) Спасибо за информацию, буду разбираться
Тогда multistage build docker build -t mynodeapp:latest node/Dockerfile В образе PHP COPY --from=mynodeapp:latest/path/to/node_modules /var/www
Обсуждают сегодня