尝试运行在Rider 2019.2.2中VS2017中创建的dockerfile时遇到问题。 Dockerfile在VS2017中可以正常工作,但是由于我所在的公司还允许开发人员使用其他IDE,因此我们也需要Dockerfile在Rider中工作。
我在解决方案中添加了一个新的Docker项目,方法是在VS2017中添加Container Orchestrator支持。
我的.sln项目结构为:
Bram.Website
> Bram.Website // contains the Dockerfile
> docker-compose // contains docker-compose.yml
生成的Dockerfile如下所示:
FROM microsoft/aspnet:4.7.2-windowsservercore-1803
ARG source
WORKDIR /inetpub/wwwrootDock
COPY ${source:-obj/Docker/publish} .
生成的docker-compose.yml是:
version: '3.4'
services:
bram.website:
image: ${DOCKER_REGISTRY-}bramwebsite
build:
context: .\Bram.Website
dockerfile: Dockerfile
我根据本文中的信息更改了JetBrains构建配置:https://blog.jetbrains.com/dotnet/2018/07/18/debugging-asp-net-core-apps-local-docker-container/
我的构建命令是:
docker build -t <image_tag> . && docker run -p 8000:80 --name bramwebsite <image_tag>
当我尝试构建它时,我得到以下输出:
Deploying 'bram-website Dockerfile: Bram.Website/Dockerfile'...
Building image...
Step 1/4 : FROM microsoft/aspnet:4.7.2-windowsservercore-1803
---> d58c3fe3a54e
Step 2/4 : ARG source
---> Using cache
---> 7be7e1854e6f
Step 3/4 : WORKDIR /inetpub/wwwroot
---> Using cache
---> 6d53dbdcf2cd
Step 4/4 : COPY ${source:-obj/Docker/publish} .
Error: ResponseItem.ErrorDetail[code=<null>,message=COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder371292226\obj\Docker\publish: The system cannot find the file specified.]
Failed to deploy 'bram-website Dockerfile: Bram.Website/Dockerfile': COPY failed: CreateFile \\?\C:\ProgramData\Docker\tmp\docker-builder371292226\obj\Docker\publish: The system cannot find the file specified.
我不确定这是配置问题还是Rider中的问题或VS生成文件的方式。位于'C:\ ProgramData \ Docker \ tmp'的文件夹似乎为空。目前我最好的猜测是,Rider在使用VS2017注入的“源”宏时遇到困难吗?任何帮助或见识都将不胜感激。