docker設定容器啟動時nginx、thingsboard、postgresql等服務自啟
阿新 • • 發佈:2020-12-11
注意:以下所有操作都是在容器裡面
1,首先去/etc/init.d目錄下檢視你需要啟動服務的檔案,如圖:
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!