Docker中启动服务的新思路
之前在NAS上开启了很多服务,但是因为Docker的固有原因,并不能直接在crontab
中或者通过systemctl
实现服务的自启动,本来以为想要解决这个问题只能通过自己手动编写DockerFile
实现,但是今天发现了一个旁门左道,似乎可以实现这些任务的自启动。
其实NAS上面的ubuntu容器默认是运行了一个bash
,这样我们就可以通过终端去访问这个容器了,本来想着可以把这个命令改成我们自己定义的一个脚本,但是GUI界面似乎是不支持这个操作的,反正我找了挺久是没找到设置的具体位置。
此路不通,只有另想它法,既然镜像启动的时候运行了一个bash
命令,那么我们可不可以从这个bash
命令上做做文章呢?
答案是可以!!我们知道bash
在运行的时候支持通过.bash_profile
或者.bashrc
实现比如设置别名等操作的前置命令,也就是说在这个脚本里面的命令都会在运行bash的时候被调用,那么我们是不是把需要开启的服务放到这个文件里面就行了呢?
答案是可以!!我们直接在.bashrc
的末尾添加需要运行的命令就可以了,当然周期性的任务还是放到crontab
中就好了,而cron
的服务我们通过.bashrc
开启就可以了,这样重启docker镜像之后,所有的服务都可以自动启动了,是不是非常完美?
答案是完美!!可以继续愉快的玩NAS了,还是个不断电的系统,爽歪歪呀。
最后更新于 2019-07-28 07:54:23 并被添加「」标签,已有 2294 位童鞋阅读过。
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。