Есть команда docker-compose run bash, она запустит конкретный сервис, описанный в docker-compose.yml, с терминалом, но это всего один сервис. Мне нужно запустить все мои сервисы через docker-compose up и один из этих сервисов должен запуститься с возможностью писать команды в терминал.
Ну добавляете свои сервисы в docker-compose.yml - да запускаете...
Нужный сервис - пусть себе пишет в терминал
Просмотреть вы его сможете с помощью docker logs -f <имя контейнера где сервис пишет в терминал>
aalthab, проектируете вашу систему, в докер-композере прописываете секции для каждого сервиса.
Пишете в нужный контейнер команды: docker exec -ti <имя контейнера> <сервис куда надо писать>
Владимир Куц, а есть возможность запустить через docker-compose сервис, который ничего не делает? Ну чтобы я мог в него попасть через exec. И будет ли он тогда работать равносильно тому, как работают все сервисы, когда их docker-compose run запускаешь?
В этом и есть изначальный вопрос, не получается использовать команду docker-compose run и при этом получить доступ к терминалу. Любые bash и т.д просто завершают сервис кодом 0 и все. У меня 3 сервиса всего, и они должны все одновременно работать, только в одном из них финальную команду (цикл) мне нужно вручную запускать, потому что перед ней мне еще нужно ввести пару команд и получить от них ответ, который нельзя перехватить никак, чтобы автоматически ввести.