Назад | Перейти на главную страницу

Как создать Dockerfile с двумя файлами и командами?

В моем приложении два файла: 1.py и 2.py, и для работы мне нужно запустить их на двух разных терминалах, например:

1 терминал: python3 1.py -f text.txt

2 терминал: python3 2.py

Как мне создать Dockerfile, чтобы изображение работало?

В вашем Dockerfile после копирования файлов вы можете использовать канал в CMD, чтобы вы могли запускать несколько скриптов одновременно. Ваш Dockerfile должен выглядеть так (я предполагаю, что файлы находятся в вашем текущем каталоге):

FROM python:3.6
COPY 1.py /
COPY 2.py /
COPY text.txt /
CMD python3 1.py -f text.txt | python 2.py 

В Докере нет понятия «терминалы». Лучше всего запустить два контейнера Docker, по одному для каждого файла, и использовать Docker Compose или модуль Kubernetes (или аналогичный) для их одновременного запуска.