背景 :
在vagrant里面使用docker,运行mysql容器,持久化数据出现的一些问题,
执行持久化数据到非共享目录,例如~/home/vagrant/mysql/data 不会出现任何问题
执行数据持久化到vagrant共享到本机的目录 在vagrant里面是
/vagrant/mysql/data
本机是~/develop/vagrant/docker/mysql/data
就会出现问题
大致原因就是没有权限的样子,引起问题的原因大致是
搜了很久都没找到合适的答案,特此发帖求助,谢谢
好吧,没人回答的样子,在经过几个小时的反复折腾之后,找出了两种解决方案。
构建镜像的时候强制设置用户的UID为1000
RUN usermod -u 1000 mysql && chown mysql.mysql /var/run/mysqld/
修改Vagrantfile 设置 在共享文件夹处增加如下配置
也就是设置
owner:"vboxadd"
group:"vboxsf