当前位置: 首页 > 知识库问答 >
问题:

docker volumes 映射知多少?

公孙阳文
2023-04-21

读「Docker」关于 Docker volume 挂载时文件或文件夹不存在的问题 有感

用mysql的镜像做了一个实验 发现:

如果把mysql的/etc目录映射到 主机则会反覆盖
docker run -it -d --name mysql -v /docker-build/alpine/volume/:/etc -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.37

用其他的路径则会直接把容器对应的路径置空

docker run -it -d --name mysql -v /docker-build/alpine/volume/:/dev -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.37


请问有谁知道有什么讲究吗?

共有2个答案

茅鸿宝
2023-04-21

image.png

原来如此啊

卓胜
2023-04-21

如果你问的是挂载mysql容器内部/etc/mysql/目录下的,那么答案就是mysql镜像启动脚本的问题,启动脚本会在启动的时候判断这个目录是否为空,然后判断是否生成文件。

如果你问题是挂载到/etc/目录,这个时候会生成3个文件hostname hosts resolv.conf ,这三个文件是容器启动的时候生成的,它和网络、主机名有关,和镜像里面的启动脚本没关系。

 类似资料:
  • 有两张数据表,通过第三张数据表来表示关联关系,我们称之为多对多的映射 如上图,通过一个中间数据表的两个字段,分别指向两个对象的主键,可以实现多对多映射。所以,Pet.foods(一个 List<Food>) 或者 Food.pets(一个List<Pet>)就是多对多映射。 在 POJO 中配置多对多映射 在 POJO 类中字段中增加注解 @ManyMany: @Table("t_food")

  • 主要内容:@ManyToMany 示例,程序输出结果多对多映射表示集合值关联,其中任何数量的实体可以与其他实体的集合关联。 在关系数据库中,一个实体的任何行可以被引用到另一个实体的任意数量的行。 完整的项目目录结构如下所示 - @ManyToMany 示例 在这个例子中,我们将创建学生和图书馆之间的多对多关系,以便可以为任何数量的学生发放任何类型的书籍。 这个例子包含以下步骤 - 第1步: 在包中创建一个实体类,包含学生ID(s_id)和学生姓名(

  • 我想映射类主题到主题表。 主题。JAVA 主题。哈佛商学院。xml 冬眠cfg。xml 我正在读取csv文件的内容,并希望使用以下代码将其插入数据库。 管理ata.java 我得到以下错误 线程“main”组织中出现异常。冬眠MappingException:未知实体:组织中的主题。冬眠impl。SessionFactoryImpl。getEntityPersister(SessionFactor

  • 问题内容: 我正在尝试在Elasticsearch中映射多字段 第一个字段-“中”应包含所有索引列, 第二个字段-“ orig”应按原样包含文本。 例如: 一旦创建并查询,它就是它的外观。 当index =’no’时,是否意味着该字段将永远不会被索引? 问题答案: 对于不同的类型有不同的含义。由于现场在你的问题是它有以下根据意思。 no表示根本无法搜索(作为单个字段;它仍可能包含在_all中)。设

  • 我的实体如下所示: 我的问题是: 为什么会这样,即使在我添加食谱和房子之间的联系之前没有发生? 我怎样才能修好它? 原因是什么?

  • 有两张数据表,其中A表的某个字段的值指向B表的主键。因为B表的任何一条记录理论上可以对应A表的多条记录,所以称这种 映射为B表对A表数据的一对多映射。 上述结构,如果用 POJO 来表示的话,可以参看下图: 如上图,一个 Master 自然就能对应多个 Pet ,所以, Master.pets (一个 List<Pet>) 就可以指向多个 Pet 对象, 那么我们说 Master.pets 就是