• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Связка fpm, apache, и mariadb через Docker контейнеры

Alex Deroza

New member
07.02.2021
4
0
BIT
0
Салют вам ребята! Подскажите человеку, который только начинает вникать в такую сущность как Dоcker. Все дело в том, что я всегда работал с сервисами fpm, apache, и mysql традиционным методом. Т.е. был некий уже заранее подготовленный образ ОС, на котором разворачивается некой веб сервис, при помощи ранее указанных инструментов. Недавно я получил очередной "левый заказ" и вот решил его развернуть по новому методу. Все-таки надо же когда то освоить эту самую контейнеризацию. Так вот.. Я почитал официальную документацию Docker и пришел к выводу что, было бы неплохо использовать три разных контейнера, но с использование внутренней сети, которую позволяет организовать Docker-Engine. Однако, по сколько опыта у меня в этом деле мало, я все таки хотел бы услышать ваши рекомендации по этому поводу. Например, стоит ли действительно разделять Apache и PHP-FPM? Ведь apache все равно работает с fpm по сети(хотя в unix это не имеет значения). Я почему спрашиваю, все дело в том что, я понятия не имею как мне объединить два образа в один докер файл: alpine3.13/fpm и httpd/2.4/alpine, или же все таки не стоит этого делать?

P.S. я пробовал запустить в отдельности друг от друга все необходимые для моей задачи сервисы - вообще нет проблем. За исключение того что я совершенно не могу понять как мне вынести тома контейнеров в доступ для перезаписи. Например мне необходимо править конфиги серверов, но они же в режиме чтения. Пока все что меня интересует.
 
Последнее редактирование:

Alex Deroza

New member
07.02.2021
4
0
BIT
0
Точнее вынести данные контейнера в том на гостейвой ОС не проблема, проблема в том что я не совсем понимаю правильно ли я это делаю.
К примеру: -v F:\Docker\mariadb\lib:/var/lib/mysql, без каких либо доп. параметров по поводу VOLUME в DockerFile
 

Alex Deroza

New member
07.02.2021
4
0
BIT
0
Короче я понял как оно должно работать. Через compose добавляем необходимые инструменты, каждый в своей сейкции service, прописываем все необходимое. Осталось разобраться с конфигами. Как то непривычно все это работает. Доуступ к томам сервисов(если они прописаны) необходимо пробрасывать не просто напрямую(в случае если хост винда и работа через wsl, а сервисы под alpine, к примеру), а через инструменты докера. В общем разобрался. За исключением, что непривычно работать в таком режиме, с томами. По идее на unix должно работать напрямую, по причине аналогичной FS.

Код:
6428dd668683   php:7.4-fpm-alpine           "docker-php-entrypoi…"   9 minutes ago    Up 2 minutes   0.0.0.0:9001->9000/tcp                     web_service_php_1
506d890ec121   httpd:2.4.46-alpine          "httpd-foreground"       18 minutes ago   Up 2 minutes   0.0.0.0:81->80/tcp, 0.0.0.0:444->443/tcp   web_service_httpd_1
85fcc654531e   yobasystems/alpine-mariadb   "/scripts/run.sh"        18 minutes ago   Up 2 minutes   0.0.0.0:4306->3306/tcp                     web_service_database_1

P.S. По сути все три слоя, уже изолированы. Словано на разных мышинах. Разве что у них виртуальная сеть общая и СХД, +возможно сварм(если нужен будет)
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!