Назад | Перейти на главную страницу

Как Docker может редактировать файлы конфигурации Apache и тому подобное?

Мне интересно разобраться в полной концепции использования Docker на моем сервере для моих веб-клиентов.

В идеале я хотел бы создать докер с apache, PHP, MySQL, почтовым сервером, DNS-сервером, redis, memcached, imagemagick и т. Д. И иметь его, где я могу просто запустить новый сервер клиента и быть готовым за считанные минуты.

Я видел здесь Apcache Docker https://hub.docker.com/r/eboraas/apache-php/

Он говорит:

Это образ Apache, включающий поддержку SSL и PHP5. Чтобы эффективно использовать этот образ, вам необходимо смонтировать:

/ var / www для содержимого вашего сайта (например, с помощью "-v / home / jdoe / mysite /: / var / www /") / var / log / apache2, необязательно, если вы хотите хранить файлы журналов видимым образом вне контейнера / и т. д. / ssl, необязательно, если вы хотите использовать SSL с настоящими ключами

Более конкретно:

Смонтируйте / var / www для содержимого вашего сайта

Если я правильно понимаю, это позволяет внешним папкам / файлам веб-сайтов существовать на сервере за пределами образа Docker, чтобы Docker в основном просто обрабатывал фактическое серверное программное обеспечение?

Еще несколько вопросов:

Могут ли такие вещи, как записи Apache Virtualhost для добавления доменов, существовать внутри образа докера или на сервере за его пределами и быть доступными для редактирования?

Как Docker может редактировать файлы конфигурации Apache и тому подобное?

Однако в значительной степени вы бы хотели, чтобы это работало. :)

Если я правильно понимаю, это позволяет внешним папкам / файлам веб-сайтов существовать на сервере за пределами образа Docker, чтобы Docker в основном просто обрабатывал фактическое серверное программное обеспечение?

Да, это правильно.

Могут ли такие вещи, как записи Apache Virtualhost для добавления доменов, существовать внутри образа докера или на сервере за его пределами и быть доступными для редактирования?

Если вы хотите / хотите, чтобы они существовали вне контейнера, создайте его таким образом.

Как вы, несомненно, заметили, мои ответы на ваши вопросы были довольно туманными. Для этого есть веская причина. Тот факт, что вы используете докер, не означает, что есть один-единственный хороший способ делать что-то. Ваш вариант использования в значительной степени будет определять, как вы хотите использовать докер.

В моей среде мы решили хранить всю конфигурацию и все состояние приложения вне контейнера. Для конфигурации это означает, что мы поддерживаем на хосте каталог «etc», который содержит всю конфигурацию для каждого типа контейнера, работающего на этом хосте. Точно так же мы храним состояние (файлы базы данных и т. Д.) В файловой системе хоста вместо того, чтобы использовать тома данных. И каталоги конфигурации, и места хранения данных монтируются в работающие контейнеры с помощью -v флаг времени выполнения. Эта архитектура нам очень понравилась, но, возможно, это не то, что нужно вашей организации.

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

Docker - это инструмент, который вы можете использовать. Пользователь должен определить, как он собирается его использовать.