Bash
如何從 python cli 退出容器外殼
我在容器中執行 python。
目標是在接收到輸入值後從正在執行的 python 程式碼中退出容器
quit
。我嘗試了以下程式碼:import subprocess def qq(): while True: choice = "" choice = input("Type \"quit\" to exit container> ") if choice == 'quit': print("Exiting container") subprocess.call("exit", shell=True) break else: print("Invalid input.") qq()
我進入容器後,執行上面的程式碼,輸出如下
docker exec
:bash
root@container:/pyScript# root@container:/pyScript# python3 kwit.py Type "quit" to exit container> Invalid input. Type "quit" to exit container> quit Exiting container root@container:/pyScript# root@container:/pyScript#
現在,輸入
quit
將我帶回容器外殼。我希望
quit
輸入退出我的 python 提示並直接帶我回到 docker 主機(而不是容器)
您可以
exec
在執行時使用python3
:root@container:/pyScript# exec python3 kwit.py
這將用
python3
執行該腳本替換正在執行的 shell。當python3
程序終止時,沒有更多的 shell,因此docker exec
將終止。