在构建过程中无法访问绑定挂载机卷的文件



如果我将自己连接到容器并检查/app内的文件,我可以在valve_controller内看到我的主机内容,修改它,等等。

我在构建过程中看不到文件(RUN ls/app/trows nothing(。我需要验证代码,然后编译它。

卷是否在生成后装入?

我有哪个选项不涉及复印?

version: '3.7'
services:
valve_controller:
container_name: "valve_controller"
build:
context: .
dockerfile: ./valve_controller/Dockerfile
working_dir: /app
tty: true
volumes:
- ./valve_controller:/app

Dockerfile

VOLUME /app
RUN ls /app/

只有在容器运行时才会装入卷,而不是在构建过程中。这是有意的,因为图像生成不应该依赖于构建上下文(Dockerfile所在的目录(之外的任何内容。如果您在图像构建过程中需要任何文件,您应该在.中COPY它们

卷在运行容器的那一刻就被装入。因此,在构建过程中不能引用这些文件。

在docker中添加一个CCD_ 2标记将组成一个需要运行的命令列表&或会成功的。

也可以创建并初始化具有体积的图像,然后导入该图像。

最新更新