[英]Docker containers as Linux services?
我刚刚创建了一个安全的Docker Registry,并在远程VM上运行了它(使用docker run ...
)。 然后,我运行docker ps
并看到它实际上正在运行。 我退出了计算机,然后通过SSH重新登录。再次,我运行了docker docker ps
并验证了它在退出SSH会话后是否“幸存”。
这让我感到疑惑: Docker容器是否实际上作为Linux服务运行? 如果不是,是否有任何方法可以使它们作为传统(基于upstart
或systemd
的)服务运行? 这样做是否还有任何理由/优点?
泊坞窗引擎作为守护程序运行。
在“ 主机集成 ”中提到:
从Docker 1.2开始, 重新启动策略是内置的Docker机制,用于在容器退出时重新启动容器。 如果设置了该选项,则在Docker守护程序启动时将使用重新启动策略,这通常在系统启动后发生。 重新启动策略将确保以正确的顺序启动链接的容器。
如果重启策略不符合您的需求(即,您有依赖于Docker容器的非Docker进程),则可以使用
upstart
,systemd
或supervisor
类的进程管理器。
顺便说一下,这涉及到(当容器运行时带有某些选项)一些安全问题 :请参阅问题14767和问题6401 :
容器(带有
--net host
选项)是网络堆栈中的主机,因此容器上可以访问主机上运行的所有服务。 碰巧的是,您通过这种方式与新贵(和其他人)进行交流。与
--privileged
标志一样,此功能是仅运行时选项,因此映像无法请求此功能,必须在运行时显式设置它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.