#python #docker #docker-compose
Вопрос:
В моем docker-compose.yaml
я загружаю автономную среду Apache Pulsar, а затем запускаю несколько сценариев python для написания output.txt
и print
некоторого текста.
Обычно, если я запускаю это локально, print
инструкции отправляются в терминал, а output.txt
затем записываются и сохраняются в родительском каталоге. Но когда я запускаю этот процесс с моим docker-compose.yaml
ничего не печатается, потому что мой терминал теперь посвящен обновлениям статуса, так как оба изображения предназначены для сохранения.
Итак, где я могу увидеть свои выходные файлы и инструкции печати, чтобы определить, что я получаю ожидаемое поведение?
Комментарии:
1. У меня такой же сценарий, и я записываю журналы в системный журнал
2. Если вы не запустите docker compose в режиме демона, то журналы из ваших контейнеров будут выводиться на ваш терминал. Если вы работаете в режиме демона inn, вы можете использовать
docker-compose logs <service>
его для получения журналов из определенной службы3. по умолчанию это будет запись в вашу
WORKDIR
папку, указанную в файле dockerfile. что касается выходных данных, то они находятся внутри докеризации, поэтому вы не сможете их увидеть, если не выберете-d
опцию для запуска образа докера
Ответ №1:
Что касается файлов, я бы рекомендовал вам добавить монтирование тома в контейнер и записать файлы в этом месте в контейнер. Затем вы сможете получить к ним доступ, как к любому другому файлу локально.
Для print
операторов docker-compose logs
следует разрешить вам просматривать выходные данные из контейнеров.