Dockerfile COPY {来源:-...}

zur*_*aff 27 docker visual-studio-2017

在具有Docker支持的Visual Studio 2017中创建项目时,Dockerfile具有以下行:

COPY ${source:-obj/Docker/publish} .
Run Code Online (Sandbox Code Playgroud)

这是什么意思?源宏指向哪里?破折号是什么意思?

Aym*_*ine 17

这称为变量替换.

在英语中,它转换为:
"嘿Docker,当你构建它时,COPY你在$source变量中找到图像中当前目录的路径(.).如果$source是空的或不存在,只需使用默认路径obj/Docker/publish"

$source是在执行之前定义的环境变量docker build.

一些参考:

  • 当我尝试从命令行构建时遇到了这个问题:`lstat obj/Docker/publish:没有这样的文件或目录`.我从VS构建窗口复制了命令,因此命令本身应该是正确的. (3认同)
  • 在Visual Studio中,这对我来说效果很好,但是路径的“发布”部分不存在,因此我对它的实际工作方式感到困惑。谁能分享一些见识? (2认同)