linux docker加入系统启动,「linux专栏」如何设置服务开机自启?这两种方法很有用...

开机自启在很多时候非常有用,比如要执行某个计划任务,或者启动某个服务。在window操作系统中似乎很容易实现,但是在linux操作系统中该如何实现呢?

52f77608ef431f60541bb4876740d41d.png

事情的起因很简单,因为小编在docker中部署了onlyoffice镜像服务,但是每次linux操作系统重启之后,docker服务是自动启动了,但是onlyoffice容器却每次都是Exited 未运行的状态,导致外部nextcloud无法放到到该服务。必须手动启动onlyoffice的容器才可以,这样过于麻烦,于是需要设置自动启动,确保重启操作系统后该容器是自动启动的状态。

f970d1123a98f5a3b0edbe9f12e5d58e.png

首先当然就是编写shell脚本,也就是说通过shell脚本能够启动对应的服务,或者执行我们需要执行的命令,比如这里我们新建名为autoshell的脚本文件,编辑内容为:docker start docker start $(docker ps -a | awk '{ print $1}' | tail -n +2),也就是说启动所有的docker中的容器,docker的命令可以参考深入了解Docker,汇总Docker操作命令,你需要的都在这里。同时需要给autoshell.sh的脚本赋予执行权限,命令为:chmod +x /etc/autoshell/autoshell.sh

8c833cab83cd5f4f1ff85f5baed08b08.png

方法一:修改/etc/rc.local

rc.local是Linux启动程序在login程序前执行的最后一个脚本,有的时候也将该文件称之为链接文件。使用命令vim /etc/rc.local,添加一行代码:/bin/bash /etc/autoshell/autoshell.sh,也就是在系统启动的时候调用执行autoshell.sh的脚本。

bfd020fe4204304c0723dfac9748f131.png

同时,我们需要给rc.local文件赋予可执行权限,chmod +x /etc/rc.local。

a836e978c5c63f1467237601a47d4f85.png

方法二:chkconfig管理

为了更好的测试,先取消方法一中在rc.local中添加的启动命令。

chkconfig:作用就是开机启动项的管理服务。(例如有些默认启动软件,linux有些软件安装之后,没有自启动,还可以查看和删除)。chkconfig中,我们只能在/etc/init.d中创建对应的脚本。使用命令:vim docker-onlyoffice,编写脚本:docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)。

63f091381bd2120c0e9d6d0602671249.png

脚本创建后,需要给创建的脚本赋予执行权限,命令为:chmod +x /etc/init.d/docker-onlyoffice。

e4255e704dd23cd367ee11b588b79c3d.png

使用命令:chkconfig --add docker-onlyoffice,将该启动项添加,设置为开机启动,命令为:chkconfig docker-onlyoffice on。

3e354da6e61bdf7200c351d20e3d8902.png

实际测试,另种方法都是可以实现自动启动脚本或者命令的目的,小编已经实际测试过了。希望能够帮助到大家,如果大家有任何问题,欢迎评论区留言讨论。

想了解更多精彩内容,快来关注出彩职场人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值