如何设置Docker容器自动重启

在使用Docker容器时,我们经常会遇到容器意外停止的情况,这时我们希望能够让容器自动重启,以保证服务的可用性。Docker提供了一些选项来设置容器的自动重启行为,让我们来看看如何设置吧。

设置容器自动重启的选项

在创建容器时,可以使用--restart选项来设置容器的自动重启行为。--restart选项有四个参数可供选择:

  • no:默认值,表示容器不会自动重启
  • always:容器退出时总是自动重启
  • on-failure:只有在容器以非零状态退出时才会自动重启
  • unless-stopped:除非手动停止容器,否则容器会一直自动重启

示例

假设我们有一个名为my-container的容器,我们希望它在退出时自动重启。我们可以这样设置:

$ docker run --restart always my-container

这样,无论my-container以何种方式退出,Docker都会自动重启它。

如果我们只希望在容器以非零状态退出时才自动重启,可以这样设置:

$ docker run --restart on-failure my-container

这样,只有当my-container以非零状态退出时,Docker才会自动重启它。

永久设置容器自动重启

除了在运行容器时设置--restart选项外,我们还可以在创建容器时使用docker update命令来永久设置容器的自动重启行为。例如,我们可以这样设置my-container永远自动重启:

$ docker update --restart always my-container

这样,即使手动停止了my-container,它也会在退出时自动重启。

总结

通过设置--restart选项或使用docker update命令,我们可以很方便地设置容器的自动重启行为,以确保我们的服务始终保持可用状态。选择合适的重启策略对于不同的应用场景非常重要,希望本文对您有所帮助。