在win7下安装的vbox虚拟机,虚拟机起了一个ubuntu1604作为宿主机,安装的docker服务
通过vbox的挂载工具将win7下的程序开发目录挂载到了ubuntu下 作为共享目录
docker安装的开发环境是 apache-php mysql5.6 redis memcache 等 容器通过挂载共享目录实现数据在win7下持久化共享保存
需求:是开机时使docker开发环境能够自动运行
1、 所以利用docker-compose编写docker-compose.yml将容器整体服务编排打包,使用docker-compose up -d 可以让apapche php mysql redis等一键启动
2、原本将 docker-compose -d命令编写到一个脚本中 放到 rc.local下 用来开机启动,由于容器依赖于虚拟主机的挂载服务,貌似虚拟主机挂载win7的目录到ubuntu下的时机不太确定,导致 这个开机命令偶尔并不能成功正确的启动我需要的容器
3、因此通过update-rc.d这个命令来进行开机项管理 保证容器启动顺序是在ubuntu的网络、文件、docker等服务加载完成后再执行
4、编写developserver.sh 中包含了mount挂载win7主机目录的命令 和docker-compose启动docker服务的命令 再按照update-rc.d 启动文件的格式 编写头部启动依赖项 这样保证了该服务在这些依赖启动后再启动
在命令行下执行
update-rc.d developserver.sh defaults
以下是developserver.sh文件
#!/bin/bash
### BEGIN INIT INFO
# Provides: developserver
# Required-Start: