比如python文件 例子.py:
import os
containerId = "XXX"
command = "docker exec -ti " + containerId + "sh"
os.system(command)
当我使用“python example.py”执行这个文件时,我可以进入一个docker容器,但我想在docker中执行一些其他命令。
我试过这个:
import os
containerId = "XXX"
command = "docker exec -ti " + containerId + "sh"
os.system(command)
os.system("ps")
但是ps只是在我退出docker容器后在docker外执行,不能在docker内执行。
所以我的问题是如何使用 python shell 在 docker 容器内执行命令。
对了,我用的是python2.7。非常感谢。
请您参考如下方法:
如果你想执行的命令可以很容易地预先定义,那么你可以将它们附加到 docker run 命令,如下所示:
docker run --rm ubuntu:18.04 /bin/sh -c "ps"
现在,如果您已经有一个正在运行的容器,例如
docker run -it --rm ubuntu:18.04 /bin/bash
然后你可以用docker exec做同样的事情:
docker exec ${CONTAINER_ID} /bin/sh -c "ps"
现在,在 python 中,这可能看起来像这样:
import os
containerId = "XXX"
in_docker_command = "ps"
command = 'docker exec ' + containerId + ' /bin/sh -c "' + in_docker_command + '"'
os.system(command)
