前段时间把家里网络折腾成ESXi+LEDE+群晖+win10[点我阅读ESXi相关文章],然后在群晖里用docker搭建了一个小web用于测试,今天重启了下群晖发现Web无法访问了,最后检查是docker里安装的宝塔未启动,通过手动启动后能用了,但总不能每次重启群晖都要手动启动宝塔吧,这也太麻烦了,和信息时代的自动化完全相悖嘛,于是在网上一通好找最后经过反复试验得出以下可选步骤:
我这里是群晖6.22,所以得先获取root权限
先在群晖”控制面板”里开启SSH,然后通过SSH登录群晖,命令如下:这里默认用户名以admin为例,IP地址以127.0.0.1为例,操作中根据情况更改
ssh admin@127.0.0.1
输入默认用户的密码(群晖中输入密码时不会有任何字符显示),再进行下一步
sudo -i
再次输入默认用户密码,然后再输入以下命令转换目录
cd /etc/ssh
更改sshd_config的权限,设置为755
chmod 755 sshd_config
vi /etc/ssh/sshd_config
通过方向箭向下翻到上图中光标所在位置,默认是#PermitRootLogin prohibit password,先按i进入插入模式,然后把前面的#删除,再把这行内容改为PermitRootLogin yes(如上图中),改完后先按esc键退出插入模式,然后输入:wq保存退出。重启群晖
reboot
再次ssh登录群晖并切换至root,命令见前面,完成后我们开始修改root密码,命令中的***为你设置的新密码(请务必牢记!)
synouser --setpw root ****
至此root权限和root密码都已设置完成,我们可以进行下一步操作了。
设置docker下自动启动宝塔及nginx、php
在设置宝塔自启动之前要先获取docker容器的container id,命令如下:
先SSH连接群晖,切换到root
sudo -i docker ps -a
进入群晖”控制面板”找到”任务计划“新建一个触发任务,输入以下脚本:
最前面的sleep 30是延时30秒执行,因为要等docker容器启动完后再执行,否则任务起不了作用。当然你还可以加入其他任务,我这里是只启动了bt、nging、php
sleep 30;sudo docker exec 567cb5e101d4 /etc/init.d/bt start && sudo docker exec 567cb5e101d4 /etc/init.d/nginx start && sudo docker exec 567cb5e101d4 /etc/init.d/php-fpm-71 start
至此,大功告成!
暂无评论内容