我想运行一个容器,但这是一个后台程序(例如:tinyproxy,我将图像设置为tinyproxy_local)
docker run -d tinyproxy_local tinyproxy
这将退出,因为tinyproxy是后台程序。
我可以这样:
docker run -it tinyproxy_local bash
/#: tinyproxy
/#: ctrl+p ctrl+q
这可以运行,但是我希望在重新启动容器时可以自动启动tinyproxy。我测试了:
docker run -d tinyproxy_local tinyproxy && sleep 99999999999
我认为容器在睡眠时可以继续运行,但是不起作用。
如何在docker容器中运行后台程序,重新启动容器后可以自动启动?
或者是否有任何小型的forground程序可以保持容器运行?
(我尝试过sleep 99999999
,但是没有用)
答案 0 :(得分:3)
您应该在前台运行docker进程。
我相信使用tinyproxy时,它是-d
标志(来源:https://www.mankier.com/8/tinyproxy)。
根据评论进行编辑:
如果入口点运行两个进程-一个应用程序,另一个运行tinyproxy-您应将它们分成两个容器,并使用-d标志在前台运行tinyproxy。另一个信息来源可以是此tinyproxy码头工人。
在每个容器中执行一个流程将为您节省将来的麻烦。
答案 1 :(得分:0)
使用nohup
B