• 如何设置Ubuntu开机自动启动Docker容器服务
  • 发布于 2个月前
  • 585 热度
    0 评论
有的时候我们需要在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添加服务启动项还是很简单方便的。
用户评论