Docker RUN层没有安装卷

在我的docker-compose中,我将一个本地文件夹挂载到Docker的文件夹中。 我可以在Dockerfile中看到并使用CMD的装入卷,但不能在RUN中使用。 运行似乎是从文档完全干净的一层。 有没有办法使RUN能够使用docker-compose文件中指定的挂载点?

无论您是使用docker本身, docker-compose还是其他工具,都无法在docker build过程中装入卷。 整个想法是, 构build过程应尽可能与您的环境独立,以使得生成的图像对本地系统没有依赖关系,并且可以更容易地共享。

通常有不同的方法来处理你想要解决的问题,而不需要试图将数据公开到构build过程中。

其实CMDRUN有很大的区别

CMD用于提供在启动容器时执行的参数或命令RUN用于提供执行命令以创build新图层。

简而言之:在构build步骤中(执行RUN时),卷不可用。

Docker容器有两种提供“外部”文件的方法:

  • 在构build步骤中,上下文已通过。
  • 在运行步骤中,使用容器层+卷。

参见CMD

请参阅RUN

关于上下文请看: