在服务器部署服务后,往往需要将服务设置成开机自启的状态 ,以防设备出现宕机或断电重启,服务无法访问的情况。

对于常见的服务(httpd,mysqld,nginx)来说,可通过系统 systemctl enable 来完成该工作。但对于自己开发的 service,比如通过 docker,可不可以通过 systemctl enable 来运行呢,下面就是实现方案:

Step1 - 创建启动文件

vim auto_start_script.sh

#!/bin/bash
/usr/bin/docker-compose -f /home/user/docker-compose/docker-compose.yml up -d

Step2 - 配置权限

# get file info
ls -lrt auto_start_script.sh # add executable permissions
chmod 744 auto_start_script.sh

Step3 - 自定义系统服务

# Add the service startup file
vim /etc/systemd/system/ctg_docker.service [Unit]
Description=running docker-compose at the system boot
After=docker.service [Service]
ExecStart=/home/user/docker-compose/config/auto_start_script.sh [Install]
# 多用户登录或者带有 desktop 登录
WantedBy=default.target # change permission
chmod 644 /etc/systemd/system/ctg_docker.service

Step4 - 测试服务

# 加载服务
systemctl daemon-reload # 启动服务,查看是否正常
systemctl start ctg_docker.service # 添加开机启动
systemctl enable ctg_docker.service # 重启系统
reboot # 获取系统启动时间
cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}' date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

最新文章

  1. 浅谈UIAlertController使用
  2. jdbc java数据库连接 2)jdbc接口核心的API
  3. goldengate for big data 12.3发布
  4. 使用webpack打包ThinkPHP的资源文件
  5. aop实现日志(转)
  6. linux 多个python版本的切换
  7. Python基础学习笔记FromImooc.com
  8. Apple开发者账号申请学习方式
  9. BootStrap2学习日记12---注册表单
  10. Jquery~$when_done_then的用法
  11. (七)Angularjs - 控制器
  12. EF中的约定
  13. English - consist of 和 compose of 的区别
  14. H264常见术语名称
  15. Matlab绘图基础——绘制向量图,二维三维(绘制参数曲线图)
  16. nodejs -Promise
  17. Centos7安装OpenJDK8
  18. hdu1003 Max Sum(最大子串)
  19. groupadd语法
  20. maven配置本地仓库通用

热门文章

  1. java中String StringBuilder StringBuffer比较和效率(性能)测试
  2. PHP中的数据库操作
  3. js拼接php拼接
  4. Python获取当前 年 月 日
  5. java中Runnable和Callable的区别
  6. java中的Volatile关键字使用
  7. Linux改中文乱码显示
  8. 1309:【例1.6】回文数(Noip1999)
  9. AngularJS学习1-基础知识
  10. Eclipse新建类的时候如何自动添加注释(作者,时间,版本等信息)