本文介绍了了解“音量"DockerFile 中的指令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

下面是我的Dockerfile"的内容

Below is the content of my "Dockerfile"

FROM node:boron

# Create app directory
RUN mkdir -p /usr/src/app

# Change working dir to /usr/src/app
WORKDIR /usr/src/app

VOLUME . /usr/src/app

RUN npm install

EXPOSE 8080

CMD ["node" , "server" ]

在这个文件中,我期待 VOLUME ./usr/src/app 指令挂载主机中当前工作目录的内容要挂载到 /usr/src/app容器的文件夹.

In this file I am expecting VOLUME . /usr/src/app instruction to mountcontents of present working directory in host to be mounted on /usr/src/appfolder of container.

请告诉我这是否正确?

推荐答案

docker官方教程说:

The official docker tutorial says:

数据卷是一个或多个容器中的一个特别指定的目录,它绕过了联合文件系统.数据卷为持久性或共享数据提供了几个有用的功能:

  • 创建容器时会初始化卷.如果容器的基础镜像包含指定挂载点的数据,
    现有数据在卷上复制到新卷中
    初始化.(注意这不适用于挂载主机
    目录.)

  • Volumes are initialized when a container is created. If the container’s base image contains data at the specified mount point,
    that existing data is copied into the new volume upon volume
    initialization. (Note that this does not apply when mounting a host
    directory.)

数据卷可以在容器之间共享和重用.

Data volumes can be shared and reused among containers.

直接对数据卷进行更改.

Changes to a data volume are made directly.

更新映像时不会包含对数据卷的更改.

Changes to a data volume will not be included when you update an image.

即使容器本身被删除,数据卷仍然存在.

Data volumes persist even if the container itself is deleted.

Dockerfile 中,您只能指定容器inside 卷的目的地.例如/usr/src/app.

In Dockerfile you can specify only the destination of a volume inside a container. e.g. /usr/src/app.

当你运行一个容器时,例如docker run --volume=/opt:/usr/src/app my_image,您可以但不必指定其挂载点(/opt)在主机上.如果您不指定 --volume 参数,则将自动选择挂载点,通常在 /var/lib/docker/volumes/ 下.

When you run a container, e.g. docker run --volume=/opt:/usr/src/app my_image, you may but do not have to specify its mounting point (/opt) on the host machine. If you do not specify --volume argument then the mount point will be chosen automatically, usually under /var/lib/docker/volumes/.

这篇关于了解“音量"DockerFile 中的指令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 16:01