全球主机交流论坛

标题: 有个docker问题不明白,请教各位 [打印本页]

作者: free2035    时间: 2024-3-11 06:58
标题: 有个docker问题不明白,请教各位
docker run的时候有个-v挂载目录的参数,我运行一个容器的时候,如果指定-v /home/erp/db:/var/lib/mysql/db -v /home/erp/sites:/www/erp/sites

运行的时候发现个问题,就是/home/erp下的文件夹没有数据,是空的,容器也无法访问,但是如果吧/home/erp/db和/home/erp/sites换成相对路径的db和sites运行就正常,相对路径存放位置为/var/lib/docker/volumes,这个是哪里出问题了呢,没想明白,给/home/erp设置权限按照docker的/var/lib/docker/volumes的也不行。
作者: free2035    时间: 2024-3-11 07:07
ddddddddd
作者: wuxudd    时间: 2024-3-11 07:19
试试 --privileged
作者: 匿名    时间: 2024-3-11 07:37
可能问题是你的容器里面有db文件,程序写的不是很完善,不会自动生成和初始化db。所以 -v 没 db 也起不来。通过volume 的方式能起来,是因为 volume 会去检查你的挂载路径是否有数据,没数据就把容器里的数据先copy到挂载点。表达能力弱,可能没能很好表达,建议楼主去搜索一下 docker的  -v 和volume 的区别
作者: diocat    时间: 2024-3-11 08:37
匿名者 发表于 2024-3-11 07:37
可能问题是你的容器里面有db文件,程序写的不是很完善,不会自动生成和初始化db。所以 -v 没 db 也起不来。 ...


正解,补充如果要强行用bind不用volume,需要先不绑定挂载点直接起容器,docker cp对应目录下的文件到你想用的挂载点,再重新创建容器绑定挂载点
作者: free2035    时间: 2024-3-11 09:30
wuxudd 发表于 2024-3-11 07:19
试试 --privileged

这个我试过,不起作用
作者: free2035    时间: 2024-3-11 09:31
匿名者 发表于 2024-3-11 07:37
可能问题是你的容器里面有db文件,程序写的不是很完善,不会自动生成和初始化db。所以 -v 没 db 也起不来。 ...

其实呢,不是db文件夹的数据没有,是sites的文件没有写入到挂载目录




欢迎光临 全球主机交流论坛 (https://loc.isir333.eu.org/) Powered by Discuz! X3.4