Интерактивный режим Docker и выполнение скрипта ⇐ Python

Программы на Python
Anonymous
Интерактивный режим Docker и выполнение скрипта

Сообщение Anonymous »

В моем Docker-контейнере есть скрипт Python, который необходимо выполнить, но мне также необходим интерактивный доступ к контейнеру после его создания (с помощью /bin/bash).

Я хотел бы иметь возможность создать свой контейнер, выполнить свой сценарий и находиться внутри контейнера, чтобы видеть произошедшие изменения/результаты (нет необходимости вручную выполнять мой сценарий Python).

Текущая проблема, с которой я столкнулся, заключается в том, что если я использую команды CMD или ENTRYPOINT в файле Docker, я не могу вернуться в контейнер после его создания. Я попробовал использовать Docker Start и Docker Attach, но получаю сообщение об ошибке:

Код: Выделить всё

sudo docker start containerID
sudo docker attach containerID
"You cannot attach to a stepped container, start it first"
В идеале что-то вроде этого:

Код: Выделить всё

sudo docker run -i -t image /bin/bash python myscript.py


Предположим, мой скрипт Python содержит что-то вроде (Неважно, что он делает, в этом случае он просто создает новый файл с текстом):

Код: Выделить всё

open('newfile.txt','w').write('Created new file with text\n')
Когда я создаю контейнер, я хочу, чтобы мой скрипт выполнялся, и мне хотелось бы иметь возможность видеть содержимое файла. Что-то вроде:

Код: Выделить всё

root@66bddaa892ed# sudo docker run -i -t image /bin/bash
bash4.1# ls
newfile.txt
bash4.1# cat newfile.txt
Created new file with text
bash4.1# exit
root@66bddaa892ed#
В приведенном выше примере мой скрипт Python выполнился бы при создании контейнера для создания нового файла newfile.txt. Это то, что мне нужно.

Подробнее здесь: https://stackoverflow.com/questions/251 ... ing-script

Вернуться в «Python»