2017-10-17 1 views
2

Nous avons microservices projets écrits selon la hiérarchie suivanteDockerFile: Ajouter le soutien de projets référencés dans la commande de copie docker

----BaseDir 
     |-----Services 
       |--------Microservices 
           |-----------Docker file 
     |-----ClassLibraries 
       |--------Project1 
       |--------Project2 

Maintenant, nous sommes confrontés à un problème lorsque la commande docker build est exécuté. MicroService Project fait référence à certains projets dans le dossier ClassLibraries.

ci-après le contenu du fichier docker

FROM microsoft/aspnetcore-build:2.0 AS build-env 
WORKDIR /app 

# Copy csproj and restore as distinct layers 

COPY *.csproj ./ 
RUN dotnet restore 

# Copy everything else and build 

ADD ["../../ClassLibraries/Project1/Code/*.*","./"] 
RUN dotnet publish -c Release -o out 

# Build runtime image 

FROM microsoft/aspnetcore:2.0 
WORKDIR /app 
EXPOSE 80 
COPY --from=build-env /app/out . 
ENTRYPOINT ["dotnet", "Service1.dll"] 

lorsque nous courons commande docker build nous obtenons l'erreur suivante:

ADD failed: no source files were specified 

Répondre

2

docker build n'a accès à son contexte (fichiers dans le même dossier comme le Dockerfile et ci-dessous) en faisant ADD. En tant que tel, vous ne pouvez pas référencer les dossiers parents de cette manière. Vous devrez malheureusement restructurer la disposition de votre dossier pour que cela fonctionne.

+0

ok merci Dima spivak – user2967848