“泊坞窗构建路径未找到”泊坞窗中的支持Visual Studio项目

问题描述 投票:3回答:2

我有C#溶液中,用4个项目,3个为DLL和1是控制台应用程序使用这些DLL。

我试图用视觉工作室码头工人的支持,建立我的码头工人的形象,它没有我的dockerfile如下:

> FROM microsoft/windowsservercore:ltsc2016 
> EXPOSE 80 
> EXPOSE 1433 
> EXPOSE 29051
> 
> COPY bin/x64/debug /root/ ENTRYPOINT
> /root/RmsMainConsole.exe

我光盘放入目录中我dockerfile是在执行和码头工人的构建。错误:

Docker CLI command : docker build -t rmsmainconsole:self-hosted .

Sending build context to Docker daemon  55.61MB
Step 1/6 : FROM microsoft/windowsservercore:ltsc2016
 ---> 9dbf7f740334
Step 2/6 : EXPOSE 80
 ---> Using cache
 ---> ad0ad85fd107
Step 3/6 : EXPOSE 1433
 ---> Using cache
 ---> 81ba13dbd4d4
Step 4/6 : EXPOSE 29051
 ---> Using cache
 ---> 1fa3db800abf
Step 5/6 : COPY bin/x64/debug /root/
COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder043346063\bin\x64\debug: The system cannot find the path specified.

你可以看到,PATH找不到。而我想对我的.sln级别创建搬运工文件。我在泊坞窗文件中更改一行。

COPY RmsMainConsole /斌/ X64 /调试/根/

注:“RmsMainConsole”目录已添加。

我在我的.sln级执行的泊坞窗构建和我建立它成功。日志:

Sending build context to Docker daemon   1.15GB
Step 1/6 : FROM microsoft/windowsservercore:ltsc2016
 ---> 9dbf7f740334
Step 2/6 : EXPOSE 80
 ---> Running in fe97cf236d5a
Removing intermediate container fe97cf236d5a
 ---> c31e236353b6
Step 3/6 : EXPOSE 1433
 ---> Running in f031fce5ecba
Removing intermediate container f031fce5ecba
 ---> 96c704c68ffb
Step 4/6 : EXPOSE 29051
 ---> Running in 365e2be43d0e
Removing intermediate container 365e2be43d0e
 ---> d30c3fb2214b
Step 5/6 : COPY RmsMainConsole/bin/x64/debug /root/
 ---> b214c1edc256
Step 6/6 : ENTRYPOINT /root/RmsMainConsole.exe
 ---> Running in 5c819915532a
Removing intermediate container 5c819915532a
 ---> 247f01bb9b82
Successfully built 247f01bb9b82
Successfully tagged rmsmainconsole:self-hosted

我注意到在成功和失败之间搭建两个差:1.尺寸在上下文泊坞窗2.在步骤5/6的日志:

COPY失败:的CreateFile \ \ C:\ ProgramData \泊坞窗\ tmp目录\泊坞窗,builder043346063 \ BIN \ 64 \调试:系统找不到指定的路径。

---> b214c1edc256

我应该如何使用Visual Studio的码头工人的支持,建立我的码头工人的形象。我哪里做错了 ?

visual-studio docker docker-image windows-container
2个回答
1
投票

不知道,我是否回答你的问题 - 第一或第二:)。

我也想知道Studio如何视觉使用泊坞窗,因为Dockerfile的项目文件夹中创建的,但它包含了COPY路径就像是在根(SLN)的文件夹。

我用它打了一下,答案很简单。

使用Visual Studio中-f切换为指向Dockerfile从溶液夹构建图像。你可以看Output窗口看到它运行以下命令:

docker build -f "<path to Dockerfile>" -t <name:tag> --target base  --label "com.microsoft.created-by=visual-studio" "<solution dir>"

所以,我建议项目文件夹中有Dockerfile和像Visual Studio做它用-f选项从根文件夹运行它。

这是否回答你的问题(S)?


0
投票

一些想法,试验和错误之后,问题不在于对码头工人的支持视觉工作室。码头工人搭建了在我的解决方案目录的根目录中运行,如搬运工构建需要能够找到所有的依赖关系取决于图像文件。

但什么让我好奇的是,再怎么是为Visual Studio来发挥作用搬运工支持?我只能右击 - >我的控制台应用程序项目添加码头工人的支持。

我现在的解决方案是在解决方案的根手动添加一个泊坞窗文件。如果有人知道的Visual Studio码头工人的支持有更好的办法来解决这个会很高兴?

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.