有的时候我们需要在Ubuntu系统启动的时候自动启动一些服务,例如docker的容器,该如何操作呢?
rebron1900:docker的run命令加个参数 --restart=always 就好了呀。如果是docker-compose就加在yml文件里。这个确实是一个很方便的方法,受教了。
在Docker中,docker run命令用于创建并运行一个新的容器实例。--restart=always是一个用于docker run命令的参数,它用于指定容器在退出后应该自动重新启动的策略。
systemctl 是一个用于管理 Systemd 系统和服务的命令行工具。Systemd 是一种系统初始化和服务管理系统,用于现代 Linux 发行版中,它负责在系统引导过程中启动系统组件和服务,同时还能够在运行时对这些服务进行管理。
启动服务:sudo systemctl start
其中:
启用服务,使其在系统启动时自动运行:sudo systemctl enable
这二个命令就可以设置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添加服务启动项还是很简单方便的。