У меня есть Python script в моем контейнере докера, который нужно выполнить, но мне также нужно иметь интерактивный доступ к контейнеру после его создания (с помощью /bin/ bash).
Я хотел бы иметь возможность создать свой контейнер, выполнить мой script и находиться внутри контейнера, чтобы увидеть изменения/результаты, которые произошли (нет необходимости вручную выполнять мой python script).
Текущая проблема, с которой я сталкиваюсь, заключается в том, что если я использую команды CMD или ENTRYPOINT в файле докеров, я не могу вернуться в контейнер после его создания. Я пробовал использовать 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 script содержит что-то вроде (не имеет значения, что он делает, в этом случае он просто создает новый файл с текстом):
open('newfile.txt','w').write('Created new file with text\n')
Когда я создаю свой контейнер, я хочу, чтобы мой script выполнялся, и я хотел бы видеть содержимое файла. Так что-то вроде:
[email protected]# 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
[email protected]#
В приведенном выше примере мой python script выполнил бы при создании контейнера для создания нового файла newfile.txt. Это то, что мне нужно.