gpt4 book ai didi

docker - 如果卷容器中没有卷,volume_from会做什么?

转载 作者:行者123 更新时间:2023-12-02 18:32:55 25 4
gpt4 key购买 nike

我正在看这个答案https://stackoverflow.com/a/32916890/271388,我不完全了解那里发生了什么。

如果我理解正确的话,在docker volume中是从主机文件系统到容器文件系统的映射。 docker的--volumes-from标志以及docker-compose.yml中docker-compose的volumes_from指令将这些映射从一个容器复制到另一个容器。

但是那个答案是怎么回事? docker-compose.yml中没有提到任何卷。在那下面做什么?

  volumes_from:
- DatabaseData

最佳答案

docker 镜像可以具有自己的卷,这些卷在创建容器时未定义(例如,使用-vdocker run参数),但是在构建镜像时未定义。这就是Dockerfile中的VOLUME语句的用途。

另请参阅relevant section of the documentation:

The VOLUME instruction creates a mount point with the specified name and marks it as holding externally mounted volumes from native host or other containers. The value can be a JSON array, VOLUME ["/var/log/"], or a plain string with multiple arguments, such as VOLUME /var/log or VOLUME /var/log /var/db. For more information/examples and mounting instructions via the Docker client, refer to Share Directories via Volumes documentation.

The docker run command initializes the newly created volume with any data that exists at the specified location within the base image. For example, consider the following Dockerfile snippet:

FROM ubuntu
RUN mkdir /myvol
RUN echo "hello world" > /myvol/greeting
VOLUME /myvol


如果您看一下(间接)在问题中所指的 Dockerfile of the mysql image,您会看到 /var/lib/mysql被定义为一个卷。从该镜像创建的每个容器都将使用该卷创建,即使未明确定义。

关于docker - 如果卷容器中没有卷,volume_from会做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34402151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com