本机架构是centos虚拟机 通过vagrant生成,然后虚拟机内部署docker compose
问题是:部署完成后 通过vagrant 文件挂载到 centos虚拟机,再通过docker-compose 挂载到 docker容器内部。 每次重启centos虚拟机,挂载到docker容器内部的文件就不完整了。甚至只剩下文件夹无具体文件。
产生问题的原因:通过多方查证,发现是vagrant的问题,每次都是先启动虚拟机centos 再挂载文件。关键是,启动虚拟机后,docker-compose已经挂载文件到容器了。。所以由于vagrant的晚挂载,导致容器内部文件没有了。 解决方法:延迟启动docker-compose
写脚本
/home/compose 目录是放置docker-compose.yml的目录
#!/bin/bash
#chkconfig: 345 88 14
# description: 开机启动docker-compose脚本 先down销毁容器,再休眠,再重开容器。(所有配置、项目文件都是通过挂载实现)
echo "docker-compose down"
/usr/local/