Я использую архитектуру микросервисов. Я уже разработал свои службы демонов (скрипт оболочки). Теперь я хочу запустить каждую из них в контейнере docker. Я новичок в docker, поэтому мне нужны некоторые рекомендации, такие как документация или руководство, которые помогут мне прикрепить эти демоны к контейнерам и обеспечить связь между ними.
решение1
Обычно образ Docker создается с помощью Dockerfile, который:
- выводит некоторое изображение[1] (
FROM debian
) - устанавливает любой дополнительный пакет, необходимый для настройки вашего скрипта (
RUN apt install ...
) - копирует ваш скрипт на изображение (
COPY daemonscript.sh /opt/daemonscript.sh
) - устанавливает скрипт как то, что нужно запустить: `ENTRYPOINT ["/bin/bash","/opt/daemonscript.sh","parm1","parm2"]
Получив образ, вы можете запустить его, возможно, используя «bind-mounts» для связывания каталогов данных вашего контейнера с каталогами на вашем хосте, если вам необходимо сохранять данные между запусками[2]
Для одновременного запуска нескольких контейнеров проще всего использоватьdocker-compose
[1] чтобы выбрать правильный образ, обычно ищут образ, где дополнительная установка сведена к минимуму, но в то же время не перегружена ненужным багажом. Вы найдете готовые к запуску образы для чего угодно: Apache, nginx, python, wordpress, mysql..
[2] хранение данных в экземпляре контейнера — плохая привычка, контейнер следует считать «временным», и, конечно же, образ Docker является неизменяемым.