我刚刚创建了一个安全Docker Registry并在远程VM上运行它(使用docker run ...
)。然后我跑了docker ps
,看到它实际上正在运行。我退出了机器然后重新登录。再次,我运行了docker ps
并验证了它并且#34;幸存下来了#34;我退出SSH会话。
这让我想知道: Docker容器实际上是作为Linux服务运行的吗?如果没有,有没有办法让它们像传统的那样运行(upstart
- 或{{1}基于服务?是否有任何理由/优点可以这样做?
答案 0 :(得分:1)
docker引擎作为守护进程运行 这在" Host integration":
中提到从Docker 1.2开始,restart policies是内置的Docker机制,用于在容器退出时重新启动容器。如果设置,则在Docker守护程序启动时将使用重新启动策略,这通常在系统引导后发生。重新启动策略将确保以正确的顺序启动链接的容器。
如果重新启动策略不符合您的需求(即,您具有依赖于Docker容器的非Docker进程),则可以使用流程管理器,例如
upstart
,{{ 3}}或systemd
代替。
这涉及(当容器以某些选项运行时)某些安全问题,顺便说一句:请参阅supervisor
和issue 14767:
容器(带有
<select> <option title="google.co.uk" onclick="location.href='http://example.com'">Administrator</option> <option title="bbc.co.uk" onclick="location.href='http://example.com'">NetMan</option> </select>
选项)是进入网络堆栈的主机,因此容器可以访问主机上运行的任何服务。碰巧你用这种方式与新贵(和其他人)沟通。此功能是仅运行时选项,就像
--net host
标志一样,因此图像无法请求此功能,必须在运行时显式设置。