在(EC2)Amazon Linux 2023启动时,自动启动Docker容器

我想做的事情

如果在Docker容器中构建一个应用程序,并且当启动EC2实例时,希望能自动启动容器,这样会很高兴,我想实现这个功能。

操作步骤

    1. 使EC2实例启动时自动启动Docker

$ sudo systemctl enable docker

要进行确认,请执行以下命令,如果显示docker.service; enabled;则表示OK

$ sudo systemctl status docker

放置Docker容器启动脚本

通过将脚本放置在/var/lib/cloud/scripts/per-boot/目录中,可以在实例启动时自动执行脚本
在 Linux 实例启动时执行命令

放置的脚本
#!/bin/sh
cd /home/ec2-user
docker start CONTAINER_NAME

如果使用docker-compose,可以像下面这样处理
#!/bin/bash
cd /home/ec2-user
docker-compose -f docker-compose.yml up –build

需要注意的是,脚本将在/var/lib/cloud/scripts/per-boot/目录中执行,因此需要注意执行位置并移动目录。