【问题标题】:run a docker and a command using python script使用 python 脚本运行 docker 和命令
【发布时间】:2023-01-19 01:13:48
【问题描述】:

我必须使用 python 脚本在新终端窗口中的 workdir 中运行一个 docker 和一个命令。

我正在尝试按如下方式进行:

command = ['gnome-terminal', '-e', "bash -c 'sudo /home/mpark/Escriptori/SRTConverter/shell_docker.sh; echo b; exec $SHELL'"]

p = subprocess.Popen(command)

其中“sudo /home/mpark/Escriptori/SRTConverter/shell_docker.sh”是一个 shell 脚本,docker 以 root 权限运行

第一个命令“sudo /home/mpark/Escriptori/SRTConverter/shell_docker.sh”运行良好,但第二个必须在容器内运行的“echo b”不起作用。

谢谢!

【问题讨论】:

    标签: python docker shell ubuntu


    【解决方案1】:

    我认为“echo b”与第一个命令在同一个 shell 中执行,它在一个新的终端窗口中运行。您应该使用“-x”标志,而不是在 gnome-terminal 中使用“-e”标志,它允许您在新的终端窗口中运行多个命令。尝试这个:

    command = ['gnome-terminal', '-x', "bash -c 'sudo /home/mpark/Escriptori/SRTConverter/shell_docker.sh; echo b; exec $SHELL'"]
    p = subprocess.Popen(command)
    

    这将打开一个新的终端窗口并在该窗口中运行命令"sudo /home/mpark/Escriptori/SRTConverter/shell_docker.sh""echo b"

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2020-12-31
      • 1970-01-01
      • 1970-01-01
      • 2019-08-18
      相关资源
      最近更新 更多