有条件地防止容器退出

Prevent container from exiting, conditionally

我在 Dockerfile 中有这个入口点:

ENTRYPOINT ["r2g", "run"]

我 运行 生成的图像具有:

docker run --name "$container" "$tag"

大多数时候,我希望容器在完成后退出 - r2g 进程不是服务器,而是测试命令行工具。 所以我的问题是 - 如果我想有条件地阻止容器退出,是否有一个标志可以传递给 docker run 以使容器保持活动状态?我可以在 ENTRYPOINT 中添加一些东西来保持容器存活吗?

保持 docker 容器 运行ning 的唯一方法是使其 运行 成为一个不退出的命令。

在你的例子中,当你不想让容器退出时,你可以运行像这样:

docker run --name "$container" "$tag" sh -c "r2g run && sleep infinity"

这样,一旦 r2g 命令完成,您的容器将无限期等待并保持 运行ning。