在我的docker-compose中,我将一个本地文件夹挂载到Docker的文件夹中。我可以在Dockerfile中看到并使用已安装的CMD卷,但不能使用RUN。 RUN似乎是一个完全干净的文档层。有没有办法让RUN能够使用docker-compose文件中指定的挂载点?
答案 0 :(得分:1)
无论您是使用docker build
本身,docker
还是其他工具,都无法在docker-compose
进程中装入卷。整个想法是 build 进程应该尽可能地独立于您的环境,以便生成的图像不依赖于您的本地系统,并且可以更容易地共享。
通常有其他方法可以解决您尝试解决的任何问题,而不需要尝试将数据公开到构建过程中。
答案 1 :(得分:1)
实际上CMD
和RUN
CMD
用于提供在启动容器时执行的参数或命令
RUN
用于提供执行命令以创建新图层。
简而言之:在构建步骤(执行RUN
时)中卷不可用。
Docker容器有两种方式提供"外部"文件:
请参阅CMD
:
请参阅RUN
:
有关上下文,请参阅: