【Linux docker 容器】关于想要让虚拟机在开机时候也docker自己启动,容器也自己启动,省去要自己开docker和容器

确认 Docker 服务状态:

首先,你需要确保 Docker 服务已经在虚拟机上安装并正确配置。你可以使用如下命令来检查 Docker 服务的状态:

复制代码
    systemctl status docker.service

如果服务没有运行,你可以使用以下命令启动它:

复制代码
    systemctl start docker.service

设置 Docker 开机自启动:

使用 systemctl enable 命令来设置 Docker 服务在虚拟机开机时自动启动:

复制代码
    sudo systemctl enable docker.service

二、设置 Docker 容器开机自动启动

创建或获取容器 ID/名称:

确保你已经有一个或多个 Docker 容器,并且知道它们的 ID 或名称。如果你还没有创建容器,你可以使用 docker run 命令来创建一个新容器。
2. 如果你是在创建容器时就想设置自动重启策略,你可以在 docker run 命令中添加 --restart=always 选项。

复制代码
   docker run --restart=always (容器id或者容器名)

设置容器自动重启策略:

使用 docker update 命令来设置容器的自动重启策略。你可以将重启策略设置为 always,这样容器就会在 Docker 服务启动时自动启动,并且在容器退出时也会自动重启。

复制代码
   docker update --restart=always 容器ID或名称

如果你不想要了就把always改成no就行

附上容器提供的其他策略:

Docker提供了几种重启策略,以帮助管理和维护容器的运行状态。以下是关于always、unless-stopped、on-failure这三种重启策略的详细介绍:

看下策略之间先看下面的注意:
4.

always策略

行为:无论容器的退出原因是什么,Docker都会自动重启该容器。

适用场景:这个策略适用于需要持续运行的关键服务,如Web服务器、数据库、消息队列等。它确保这些服务在发生任何故障时都能自动恢复,从而提高系统的可靠性和可用性。
5.

unless-stopped策略

行为:只要容器没有被手动停止,Docker就会自动重启它。如果容器被手动停止了,则不会自动重启,除非再次手动启动。

适用场景:这个策略提供了更灵活的重启选项。它适用于那些需要在维护、升级或调试期间暂时停止的服务,但又不希望这些服务在停止后自动重启的情况。
6.

no:默认策略,在容器退出时不重启容器。也就是说,无论容器是正常退出还是异常退出,Docker 都不会自动重启它。
on-failure:在容器非正常退出时(即退出状态码非0)才会重启容器。Docker 会一直重启容器,直到容器成功运行(退出状态码为0)或者达到重启次数限制(如果指定了的话)。如果没有指定重启次数,则会一直重启。
on-failure:N:在容器非正常退出时重启容器,但最多重启N次。这里的N是一个正整数,表示Docker在容器退出状态码非0时会尝试重启容器的最大次数。

三、验证设置

  1. 重启虚拟机: 在设置了 Docker 服务和容器的自动启动后,你可以重启虚拟机来验证设置是否生效。

  2. 检查 Docker 服务和容器状态 : 在虚拟机重启后,使用 systemctl status docker.service 命令来检查 Docker 服务的状态,确保它已经启动。然后,使用 docker ps 命令来检查容器是否已经自动启动。

你可以通过

复制代码
 docker inspect 容器id或者名

找到下面这个名字,就能看到里面是什么策略了

相关推荐
qetfw几秒前
Debian iptables 防火墙:默认拒绝、SNAT 与 DNAT 验证
linux·服务器·debian·php
夜之眷属4 分钟前
服务启动即崩:InetAddress.getLocalHost() 抛 UnknownHostException 排查记
java·运维·后端·docker
IT研究室7 分钟前
最新计算机毕业设计选题推荐-基于spring boot的食品安全信息管理系统-网站-文档指导-Java-springboot
java·spring boot·课程设计
忆挽篱笙歌20 分钟前
冯诺依曼+操作系统+进程
linux·ubuntu
Sayai30 分钟前
MCP Server 开发实战:Spring AI 把后端日志查询暴露给 AI Agent(7 条设计原则与踩坑实录)
java·人工智能·ai agent·spring ai·mcp
大牧师35 分钟前
Mybatis 框架教程
java·数据库·mybatis·数据持久化·orm
SunnyDays101136 分钟前
Java 合并 PDF 文件:完整合并、指定页面合并与流合并
java·开发语言·合并pdf
源码宝1 小时前
云HIS系统源码,HIS全套源码,支持监管系统对接与二次开发
java·源码·电子病历·云his系统·程序代码·全套源码
萧瑟余晖1 小时前
Spring MVC拦截器异常处理与跨域详解
java·spring·mvc