【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或者名

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

相关推荐
知识分享小能手7 分钟前
Ubuntu入门学习教程,从入门到精通,Linux操作系统概述(1)
linux·学习·ubuntu
星辰烈龙15 分钟前
黑马程序员Java基础9
java·开发语言
山沐与山16 分钟前
【Redis】Redis集群模式架构详解
java·redis·架构
KnowFlow企业知识库19 分钟前
KnowFlow v2.3.0 重磅发布:适配 RAGFlow v0.22.1 和 MinerU v2.6.5、新增支持多模态视频解析,让知识库"看见"更多
linux·github
悟空空心19 分钟前
服务器长ping,traceroute
linux·服务器·网络·ssh·ip·ping++
Ghost Face...21 分钟前
Docker实战:从安装到多容器编排指南
运维·docker·容器
ss27326 分钟前
Java并发编程:DelayQueue延迟订单系统
java·python·算法
wcy_101131 分钟前
七大软件设计原则
java·设计规范
invicinble33 分钟前
jar包在执行的时候需要关注的细节(提供一个解构jvm问题的视角)
java·jvm·jar
麦芽糖021935 分钟前
SSE介绍及使用(Server-Send Events)
java