Как заставить общаться между nginx и php контейнером

0

У меня есть PHP web application и я хочу преобразовать его в docker.

У меня есть эти контейнеры

mysql
php
nginx

У меня есть исходный код в моей папке хоста как /var/www/site1

Теперь, когда я запускаю nginx, я могу установить site1 в nginx как /usr/nginx/share/html

Но я не уверен, как я связываюсь с PHP-контейнером. Могу ли я иметь автономный контейнер PHP только с установленным PHP или мне нужно иметь некоторый веб-сервер вместе с PHP

  • 0
    Что находится в контейнере PHP? PHP-файлы или какая-то актуальная установка?
  • 0
    @wassgren php conatiner только что установил php со всеми библиотеками
Теги:
docker
nginx
webserver

1 ответ

2
Лучший ответ

Мой взгляд на контейнеры докеров состоит в том, что каждый контейнер обычно представляет один процесс. Например, mysql или nginx, как в вашем примере. Контейнеры обычно общаются друг с другом, используя сетевые или общие файлы в томах.

Каждый контейнер запускает свою собственную операционную систему (обычно указанную в FROM -section в вашем Dockerfile. В вашем случае вы предполагаете, что nginx-контейнер работает в одном процессе с одной операционной системой и что php-библиотеки работают в другом процесс (в другом os). Я не уверен, что это выполнимо, но похоже, что это странный способ делать вещи.

Мое предложение состоит в том, что вы создаете два контейнера:

  • nginx+php - этот контейнер содержит установку PHP, а также материал Nginx
  • mysql - этот контейнер содержит базу данных

Контейнер может взаимодействовать через классические сети или в виде связанных контейнеров.

Тем не менее, PHP файлы, которые вы хотите выполнить (т.е. Ваш сайт), должны быть динамически смонтированы в качестве тома данных в контейнере nginx+php или в контейнере данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню