Je suis en train de construire une application DotnetCore simple avec le support de docker-compose avec VS2017.
J'ai deux Dockerfile, un pour l'application et un pour un proxy NGINX. En plus de cela, il y a un fichier docker-compose.yml qui regroupe les deux.
Voici le Dockerfile de l'application aspnetcore, il y a beaucoup d'instructions COPY dedans et elles fonctionnent toutes correctement !
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"]
C'est le Dockerfile de nginx qui n'arrive pas à copier les fichiers correctement. Au lieu de cela, il produit l'erreur suivante :
Échec de la copie : stat /var/lib/docker/tmp/docker-builder780242597/nginx.conf : aucun fichier ou répertoire de ce type. #1859
FROM nginx
WORKDIR /etc/nginx
COPY nginx.conf ./
COPY server.crt ./
COPY server.key ./
J'ai essayé de construire ce Dockerfile par lui-même et il fonctionne, mais lorsque j'utilise docker-compose, il donne l'erreur ci-dessus.
Voici à quoi ressemble le fichier 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
Si vous voulez regarder le projet complet, il s'agit d'une application de test de serveur websocket dotnetcore avec un serveur et une application client.
https://github.com/avboivin/WssCoreServer/tree/master/server
Quelqu'un peut-il me dire ce que je fais de mal pour que docker envoie cette erreur particulière ?