• 近期有企业培训,讲的内容比较多,也大多是小白,直接配置自启动会方便一点。
  • 要在 Ubuntu 上设置 Docker 容器自启动,可以使用 systemd 来创建一个服务单元(不知道 systemd 可以先了解一下)。

创建启动脚本

  • 首先需要创建一个脚本,用于启动 Docker 容器,这个脚本将包含 Docker 命令来启动容器。
  • 例如,创建一个名为 start_my_container.sh 的脚本,内容如下:
1
2
#!/bin/bash
docker run -d --name my_container -p 80:80 --rm your_image_name
  • 将 your_image_name 替换为要启动的 Docker 容器名称。

移动脚本方便启动

  • 将上述脚本移动到一个合适的位置,例如:/usr/local/bin/
1
2
sudo mv start_my_container.sh /usr/local/bin/
sudo chmod +x /usr/local/bin/start_my_container.sh

创建服务单元

  • 现在需要创建一个 systemd 服务单元,以便系统能够在启动时自动运行 Docker 容器。
  • /etc/systemd/system/目录中创建一个名为my_container.service的文件,内容如下:
1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=My Docker Container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/local/bin/start_my_container.sh

[Install]
WantedBy=default.target

重载服务配置

  • 完成上述步骤后,重新加载 systemd 并设置自启动和开启对应服务:
1
2
3
sudo systemctl daemon-reload
sudo systemctl enable my_container.service
sudo systemctl start my_container.service

验证服务配置

  • 现在 Docker 容器应该在系统开机时自动启动,要验证是否成功启动,可以使用以下命令检查服务状态:
1
sudo systemctl status my_container.service