在 Linux 中启动时自动启动 Docker 容器的 2 种方法

1:打开命令终端

是的,您需要访问 Linux 系统的命令终端来创建一个服务文件,该文件将自动重启 Docker 容器。因此,如果您在某个远程服务器上安装了 Docker,请使用 SSH 并访问服务器,而 GUI 桌面用户可以直接从应用程序菜单启动终端应用程序。

注意:您必须具有 sudo 权限。

2:检查Docker是否已安装

当然,要自动运行容器,必须在我们的系统上安装 Docker。要检查 Docker 的服务是否已启用并正在运行,请使用给定的命令:

sudo systemctl status docker

如果未启用,请使用:

sudo systemctl enable docker

而要启动服务:

sudo systemctl start docker
Check-Docker-is-installed

3. 使用 Docker 选项重新启动容器

有两种方法可以在系统启动时自动重启 Docker 容器。一种是使用 Docker 自己的命令,另一种是借助 systemd 单元文件,这里我们讨论这两种方式。

#1st 方式:使用 Docker 命令 – 推荐一个

在创建容器时,您可以使用 –restart unless-stopped 参数,该参数告诉 Docker 始终重新启动容器,除非它未手动停止。

注意:将 container-nam 替换为您的容器。

docker run -d --restart unless-stopped container-name

然而,如果您已经有一个活动容器,那么您可以更新其策略并使其在系统启动时自动重新启动。

docker update --restart unless-stopped container-name

甚至可以使用给定的命令更新所有现有容器的策略,使其自动重启:

 docker update --restart unless-stopped $(docker ps -q)

#2nd 方式:Usingh SystemD Unit 文件

4:创建 Systemd 单元文件

现在,在您的终端中,通常切换到保存系统服务文件的目录。

cd /etc/systemd/system

接下来,创建一个新的服务文件,下面是执行此操作的命令:

sudo nano mycontainer.service

你可以用任何你想要的东西来改变服务的名称,例如,这里我们给它mycontainer,你可以定义一些其他的,以便于识别服务文件。

打开文件时,将以下代码粘贴到其中。

[Unit]
Description=My Docker Container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a linuxshout
ExecStop=/usr/bin/docker stop -t 10 linuxshout

[Install]
WantedBy=multi-user.target

将“linuxshout”替换为要在系统启动时自动启动和运行的容器名称。

按 Ctrl+X键入 Y,然后按 Enter 键保存文件。

好吧,如果不知道应用程序容器的名称,请运行:

docker ps -a

在结果的末尾,你将看到用于创建它的特定 Docker 映像的容器名称。

Find-Docker-container-name

5:启动并启用容器服务

现在,让我们启动并启用您为容器创建的服务文件,以便它可以自动启动系统启动。

注意:将“mycontainer”替换为您创建的容器服务文件名。

sudo systemctl enable mycontainer.service
sudo systemctl start mycontainer.service

检查状态:

systemctl status mycontainer.service --no-pager -l
Start-Enable-Docker-Container-Service

6:验证容器是否自动启动

如果要确认容器是否自动启动,只需重新启动计算机或系统即可。

sudo reboot

之后,再次联机后,运行给定的命令以查看容器是否处于活动状态。

sudo docker ps

因此,这是在 Linux 系统上创建服务文件的最快方法,该文件将在系统重新启动时自动启动 Docker 容器。如果需要,您还可以自定义服务以提供特定说明。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun288747.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2024年3月13日 下午9:19
下一篇 2024年3月13日

相关推荐