我的docker容器中有一个需要执行的Python脚本,但是我还需要在容器创建后(使用/bin/bash)对其进行交互式访问。
我希望能够创建我的容器,执行我的脚本,并在容器中查看已发生的更改/结果(无需手动执行我的python脚本)。
我现在面临的问题是,如果我在docker文件中使用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脚本包含如下内容(它做什么与此无关,在本例中,它只是创建一个包含文本的新文件):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脚本将在创建容器时执行,以生成新文件new file.txt。这就是我需要的。