如何启动docker容器并在MacOS上执行脚本时使其保持活动状态



我有一个shell脚本,它试图在for循环中启动两个docker容器。在检测到输出"0"之前,脚本不应该继续其剩余的执行;服务将在端口"上运行;在stdout中。

以下代码在linux上运行良好:

for i in "${functionsToStart[@]}"
do
echo "Starting ${i}"
(bash start-server.sh) | grep -q "Service will run on port"
done
#more commands
.
.
.

然而,在MacO中,这将在虚拟环境(docker桌面(中启动docker,并且grep永远不会匹配。

当我尝试将其作为子进程运行时:

(bash start-server.sh &) | grep -q "Service will run on port"

grep匹配得很好,但它也会杀死我的子进程,因此也会杀死容器。

我需要容器在剩下的脚本执行中继续运行,我如何在MacO中做到这一点?

致任何为MacO解决此问题的人。

上面提到的start-server.sh脚本就是启动我的docker容器的脚本。这里的答案是在脚本中执行docker run命令时使用正确的选项:

docker运行-itd

相关内容

  • 没有找到相关文章

最新更新