Ubuntu开机自动启动Docker容器运行WordPress

作者:J.sky · 发表于:
2023-08-27T11:39:26.300570Z
· 更新于:
2023-08-27T18:43:10.391500Z
· Tag: Docker Ubuntu

有的时候我们需要在Ubuntu系统启动的时候自动启动一些服务,例如docker的容器,该如何操作呢?

大佬提示

rebron1900:docker的run命令加个参数 --restart=always 就好了呀。如果是docker-compose就加在yml文件里。这个确实是一个很方便的方法,受教了。

在Docker中,docker run命令用于创建并运行一个新的容器实例。--restart=always是一个用于docker run命令的参数,它用于指定容器在退出后应该自动重新启动的策略。

systemctl

systemctl 是一个用于管理 Systemd 系统和服务的命令行工具。Systemd 是一种系统初始化和服务管理系统,用于现代 Linux 发行版中,它负责在系统引导过程中启动系统组件和服务,同时还能够在运行时对这些服务进行管理。

启动服务:sudo systemctl start 停止服务:sudo systemctl stop 重启服务:sudo systemctl restart 杀死服务进程:sudo systemctl kill

其中:

启用服务,使其在系统启动时自动运行:sudo systemctl enable 禁用服务,使其在系统启动时不自动运行:sudo systemctl disable

这二个命令就可以设置docker的容器以系统的服务形式在开机时自动加载。

编写配置文件

例如我的docker的脚本:docker-compose -f /root/wp/dc.yml up -d使用来在开机启动wordpress,那么我们在Ubuntu中先创建一个/etc/systemd/system/wordpress.service的配置文件,内容如下:

[Unit]
Description=WordPress

[Service]
Type=oneshot
ExecStart=/usr/bin/docker-compose -f /root/wp/dc.yml up -d

[Install]
WantedBy=multi-user.target

终端运行命令启用服务:

sudo systemctl enable wordpress

这样下次再次开机的是由就可以启动wordpress了。

如果要禁用这个启动服务:

sudo systemctl disable wordpress

总结

总体来说systemctl添加服务启动项还是很简单方便的。