docker的PID namespace

在Docker容器中的初始化进程(PID1进程)在容器进程管理上具有特殊意义。它可以被Dockerfile中的ENTRYPOINTCMD指令所指明;也可以被docker run命令的启动参数所覆盖。

  • 每个容器有独立的PID名空间,
  • 容器的生命周期和其PID1进程一致
  • 利用docker exec可以进入到容器的名空间中启动进程
  • 容器的PID1进程需要能够正确的处理SIGTERM信号来支持优雅退出。
  • 如果容器中包含多个进程,需要PID1进程能够正确的传播SIGTERM信号来结束所有的子进程之后再退出。
  • 确保PID1进程是期望的进程。缺省sh/bash进程没有提供SIGTERM的处理,需要通过shell脚本来设置正确的PID1进程,或捕获SIGTERM信号。

你可能感兴趣的:(概念,学习,云计算)