全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 660|回复: 6

有个docker问题不明白,请教各位

[复制链接]
发表于 2024-3-11 06:58:48 | 显示全部楼层 |阅读模式
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的也不行。
发表于 2024-3-11 07:19:10 | 显示全部楼层
试试 --privileged
匿名
匿名  发表于 2024-3-11 07:37:19
可能问题是你的容器里面有db文件,程序写的不是很完善,不会自动生成和初始化db。所以 -v 没 db 也起不来。通过volume 的方式能起来,是因为 volume 会去检查你的挂载路径是否有数据,没数据就把容器里的数据先copy到挂载点。表达能力弱,可能没能很好表达,建议楼主去搜索一下 docker的  -v 和volume 的区别
发表于 2024-3-11 08:37:31 | 显示全部楼层
匿名者 发表于 2024-3-11 07:37
可能问题是你的容器里面有db文件,程序写的不是很完善,不会自动生成和初始化db。所以 -v 没 db 也起不来。 ...


正解,补充如果要强行用bind不用volume,需要先不绑定挂载点直接起容器,docker cp对应目录下的文件到你想用的挂载点,再重新创建容器绑定挂载点
 楼主| 发表于 2024-3-11 09:30:05 | 显示全部楼层

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

其实呢,不是db文件夹的数据没有,是sites的文件没有写入到挂载目录
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-27 22:27 , Processed in 0.080280 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表