我有一些 docker 容器,例如 my_container 我想在我的容器中运行一个长期存在的脚本,但在离开 shell 时不杀死它
我想做那样的事情
docker exec -ti my_container /bin/bash
Run Code Online (Sandbox Code Playgroud)
进而
screen -S myScreen
Run Code Online (Sandbox Code Playgroud)
然后
在屏幕中执行我的脚本并退出终端
不幸的是,我无法在 docker 终端中执行 screen
如果您必须直接在已运行的容器中运行脚本,您可以使用以下命令来执行此操作exec
:
docker exec my_container /path/to/some_script.sh
Run Code Online (Sandbox Code Playgroud)
或者如果你想通过 Php 运行它:
docker exec my_container php /path/to/some_script.php
Run Code Online (Sandbox Code Playgroud)
也就是说,您通常不想在已经运行的容器中运行脚本,而是只想使用与某些已经运行的容器相同的映像。您可以使用标准来做到这一点docker run
:
docker run -a stdout --rm some_repo/some_image:some_tag php /path/to/some_script.php
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10233 次 |
最近记录: |