千家信息网

如何自启动Docker容器

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍如何自启动Docker容器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。容器自启动Docker提供了restart policy机制,可以在容器退出或者Dock
千家信息网最后更新 2026年11月01日如何自启动Docker容器

这篇文章给大家介绍如何自启动Docker容器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

容器自启动

Docker提供了restart policy机制,可以在容器退出或者Docker重启时控制容器能够自启动。这种Restart policy可以保证相关容器按照正确顺序启动。虽然也可以通过进程监控的方式(如systemd)来完成这种动作,但Docker还是建议尽量避免使用进程监控的方式来 "自启动" 容器。

Docker的 Restart policy与dockerd命令的--live-restore启动标志还有区别:--live-restore标志可以在Docker升级的时候保证容器继续运行,但是网络以及用户终端输入会被中断。

那到底什么是restart policy呢?我们来看看实际的情况吧。

使用restart policy

restart policy在使用docker run启动容器时通过--restart标志指定,这个标志有多个value可选,不同的value有不同的行为,如下表所列:

FlagDescription
no不自动重启容器. (默认value)
on-failure容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always在容器已经stop掉或Docker stoped/restarted的时候才重启容器

举个例子:下面的命令启动一个Redis容器,当Redis容器停止后或者Docker被重启时,Redis容器都会重启。

$ docker run -dit --restart unless-stopped redis

Restart policy细节

使用restart policies时需要注意如下细节:

(1) 容器只有在成功启动后restart policy才能生效。这里的"成功启动"是指容器处于up至少10秒且已经处于docker监管。这是避免没有成功启动的容器陷入restart的死循环。

(2)如果手动(manually)的stop(与前面的explicitly stopped有何区别)一个容器,容器设置的restart policy将会被忽略,除非Docker daemon重启或者容器手动重启。这是避免了另外一种死循环。

(3)restart policies只能用于容器,对于swarm services其restart policies有不通过的配置。

进程监控

如果上面讲的restart policies无法满足需求,也可以采用进程监控的管理方案,如upstart,systemd或者supervisor等等。

这种方案中,进程监控服务运行在容器中。它可以监控一个进程是否运行,并可以在此进程没有运行的时候去启动该进程。而这发生的一切Docker都毫无知觉。

Docker不推荐此种方法来进行进程监控,理由很简单,这种方法和系统平台甚至linux发行版相关。

原文:https://docs.docker.com/engine/admin/start-containers-automatically/#use-a-process-manager

Docker容器开机自动启动

在使用docker run启动容器时,使用--restart参数来设置:

# docker run -m 512m --memory-swap 1G -it -p 58080:8080 --restart=alway --name bvrfis --volumes-from logdata mytomcat:4.0 /root/run.sh

--restart具体参数值详细信息:

  • no - 容器退出时,不重启容器;

  • on-failure - 只有在非0状态退出时才从新启动容器;

  • always - 无论退出状态是如何,都重启容器;

还可以在使用on - failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器。

# sudo docker run --restart=on-failure:10 redis

关于如何自启动Docker容器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

容器 进程 监控 时候 标志 运行 成功 状态 不同 内容 参数 只有 命令 情况 手动 方式 方案 方法 更多 细节 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网金融科技 江苏根荣互联网科技 互联网 卓越科技 世界互联网领先科技成果 壹账通互联网科技 易通互联网络科技有限公司 友谊互联网络科技 深圳期待互联网科技 互联网大会黑科技排名 湖南诚度互联网科技有限公司 崇明区互联网教育科技诚信经营 互联网科技公司有风险吗 深圳市优智互联网科技有限公司 本届互联网博览会上的黑科技 互联网新科技动漫ppt素材 互联网科技公司营业执照怎么办理 版纳互联网科技选哪家 第三届互联网大会安防黑科技 科技互联网专业工作会议发言稿 保山浩联互联网科技有限公司 国智互联网科技 上海喔噻互联网科技 镁科技互联网资讯平台 湖南诚度互联网科技有限公司 杭州壁岐互联网科技有限公司 山东子淼互联网科技有限公司 锡山区互联网智能科技产品供应 下一代互联网重大应用科技园 西安有哪些互联网高科技企业 广西泛欧互联网科技有限公司
0