docker设置容器启动时nginx、thingsboard、postgresql等服务自启

注意:以下所有操作都是在容器里面

1,首先去/etc/init.d目录下查看你需要启动服务的文件,如图:

docker设置容器启动时nginx、thingsboard、postgresql等服务自启
2,在/etc目录下创建rc.local文件:

$ vim /etc/rc.local

并写入以下内容然后保存:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

#写入你需要自启的服务,我这里自启了postgresql,thingsboard
/etc/init.d/postgresql start 
/etc/init.d/thingsboard start

exit 0

3,在根目录下创建脚本文件,例如:

$ cd /
$ vim start.sh

将以下内容写入start.sh文件并保存:

#!/bin/sh
/etc/rc.local #execute the commands in /etc/rc.local
/bin/bash

4,最好更新下镜像并重启一个新的容器测试是否成功,注意在执行docker run命令时最后要加上./start.sh,举例:

$ sudo docker run -itd --privileged=true -p 8080:8080 -p 8779:8779 -p 8061:8061 --restart=always -v /home/thingsboard/:/home/thingsboard/ --name thingsboard thingsboard:v1 /bin/bash ./start.sh

Done!

上一篇:ThingsBoard安装编译搭建环境踩坑记录


下一篇:Uptime ATD技术论文系列:连续制冷-翻译 孙长青