Ich baue eine einfache DotnetCore-Anwendung mit Docker-Compose-Unterstützung mit VS2017.
Ich habe zwei Dockerfile, eine für die App und eine für einen NGINX-Proxy. Darüber hinaus gibt es eine docker-compose.yml-Datei, die beide zusammenfasst.
Dies ist die Aspnetcore-App Dockerfile, es gibt viele COPY-Anweisungen und sie funktionieren alle einwandfrei!
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"]
Dies ist die nginx Dockerfile, die Dateien nicht richtig kopieren kann. Stattdessen wird der folgende Fehler ausgegeben:
COPY fehlgeschlagen: stat /var/lib/docker/tmp/docker-builder780242597/nginx.conf: keine solche Datei oder Verzeichnis. # 1859
FROM nginx WORKDIR /etc/nginx COPY nginx.conf ./ COPY server.crt ./ COPY server.key ./
Ich habe versucht, dieses Dockerfile selbst zu erstellen, und es funktioniert, aber wenn ich Docker-Compose verwende, wird der obige Fehler angezeigt.
So sieht die Datei docker-compose.yml aus
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
Wenn Sie das gesamte Projekt betrachten möchten, handelt es sich um eine Dotnetcore Websocket-Server-Testanwendung mit einem Server und einer Clientanwendung.
https://github.com/avboivin/WssCoreServer/tree/master/server
Kann mir jemand sagen, was ich falsch mache, damit Docker diesen bestimmten Fehler ausgibt?