Parece que isso é um bug.
Eu encontrei a solução aqui:
O que estava simplesmente movendo o Dockerfile que estava tendo problemas no nível raiz do arquivo docker-compose.yaml.
Estou criando um aplicativo DotnetCore simples com suporte ao docker-compose com o VS2017.
Eu tenho dois Dockerfile, um para o aplicativo e um para um proxy NGINX. Além disso, há um arquivo docker-compose.yml que envolve os dois juntos.
Este é o aplicativo Dockerfile do aspnetcore, há muitas instruções COPY lá e todas funcionam corretamente!
FROM microsoft/dotnet:2.0-runtime AS base
WORKDIR /app
FROM microsoft/dotnet:2.0-sdk AS build
WORKDIR /src
COPY CoreServer.sln ./
COPY CoreServer/CoreServer.csproj CoreServer/
RUN dotnet restore -nowarn:msb3202,nu1503
COPY . .
WORKDIR /src/CoreServer
RUN dotnet build -c Release -o /app
FROM build AS publish
RUN dotnet publish -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "CoreServer.dll"]
Este é o Dockerfile nginx, que não consegue copiar os arquivos corretamente. Em vez disso, gera o seguinte erro:
COPY falhou: stat /var/lib/docker/tmp/docker-builder780242597/nginx.conf: não existe tal arquivo ou diretório. # 1859
FROM nginx
WORKDIR /etc/nginx
COPY nginx.conf ./
COPY server.crt ./
COPY server.key ./
Eu tentei criar este Dockerfile sozinho e funciona, mas quando eu uso o docker-compose ele dá o erro acima.
Isto é o que parece ser o arquivo docker-compose.yml
version: '3'
services:
coreserver:
image: coreserver
build:
context: .
dockerfile: CoreServer/Dockerfile
expose:
- "5000"
nginx:
build:
context: .
dockerfile: nginx/Dockerfile
ports:
- "80:80"
- "443:443"
links:
- coreserver
Se você quiser ver o projeto completo, é um aplicativo de teste de servidor dotscore websocket com um servidor e um aplicativo cliente.
Alguém pode me dizer o que estou fazendo errado para que o docker send forneça esse erro específico?
Parece que isso é um bug.
Eu encontrei a solução aqui:
O que estava simplesmente movendo o Dockerfile que estava tendo problemas no nível raiz do arquivo docker-compose.yaml.
Tags docker docker-for-windows