Как правильно выполнять много команд в Docker
хочу запустить их на докере, но вот возникла дилемма, команд то много
поискав в интернете нашел решение, создать bash скрипт, туда записать все команды
то это в докере не python надо будет устанавливать, а ubuntu, и там уже устанавливать python и все запускать, верно ?
version: '3.1'
services:
php74:
image: php:7.4
volumes:
- ./:/opt/site
container_name: php-74
working_dir: /opt/site
command: php -f /opt/site/somescript.php
php73:
image: php:7.3
volumes:
- ./:/opt/site
container_name: php-73
working_dir: /opt/site
command: php -f /opt/site/somescript.php
nginx:
...
volumes:
- ./local-back:/container/back
- ./local-front:/container/front
...
back:
...
volumes:
-./local-back:/container/back
command: тут скрипт который конфигурит бэк и запускает его
front:
...
volumes:
-./local-front:/container/front
command: тут скрипт который конфигурит фронт, собирает статику, или что он там делает..
Насколько подходит для этого докер?
Я не представляю, как всё вышеперечисленное можно распихать по контейнерам, чтобы не получилась полная каша
touch /somedir/someflag
... # какая-то продолжительная последовательность инициализации
rm -f /somedir/someflag # это выполнить по успешному окончанию
sleep 5 # подождать немного пока основной контейнер инициализируется
while [ -f /somedir/someflag ];
do
sleep 1
echo 'Waiting for container x'
done;
... # старт сервисов зависимого контейнера