容器的生命周期(start/stop/restart)

Docker 容器的生命周期管理是日常运维和开发的重要环节。掌握生命周期命令,可以灵活控制容器的启动、停止和重启。

1. 启动容器(docker start)

启动已停止的容器:

docker start mycontainer

`

  • 可加 -a 参数附加终端:
docker start -a mycontainer
  • 可加 -i 进入交互模式:
docker start -ai mycontainer

2. 停止容器(docker stop)

优雅停止运行中的容器:

docker stop mycontainer
  • 默认等待 10 秒让容器进程结束,可自定义等待时间:
docker stop -t 20 mycontainer
  • 发送 SIGTERM 信号,超时后发送 SIGKILL 强制停止

3. 重启容器(docker restart)

快速停止并启动容器:

docker restart mycontainer
  • 可指定超时:
docker restart -t 15 mycontainer
  • 相当于执行 stop 然后 start

4. 生命周期状态查看

  • 查看容器状态:
docker ps -a
  • 状态字段示例:

    • Up X minutes:运行中
    • Exited (0) Y minutes ago:已停止

5. 自动重启策略

  • 通过 --restart 参数设置自动重启:
docker run -d --restart unless-stopped myapp:1.0
  • 可选策略:

    • no:不自动重启(默认)
    • always:无论退出状态如何都重启
    • unless-stopped:除非手动停止,否则自动重启
    • on-failure[:max-retries]:失败时重启,最多重试次数可选

通过掌握容器生命周期命令与自动重启策略,可以更灵活、安全地管理容器运行状态,提高生产环境的稳定性和可维护性。