Тома Docker-compose не монтируются - PullRequest
0 голосов
/ 17 октября 2018

У меня есть простой проект ASP.net Core, который я запускаю в Docker-контейнере с помощью docker-compose.Я пытаюсь смонтировать каталог хоста, чтобы сохранить некоторые файлы, например, файлы журналов.

Мой Dockerfile выглядит следующим образом:

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 55498
EXPOSE 44396

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY calibration-upload-server/calibration-upload-server.csproj calibration-upload-server/
RUN dotnet restore calibration-upload-server/calibration-upload-server.csproj
COPY . .
WORKDIR /src/calibration-upload-server
RUN dotnet build calibration-upload-server.csproj -c Release -o /app

FROM build AS publish
RUN dotnet publish calibration-upload-server.csproj -c Release -o /app

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "calibration-upload-server.dll"]

Мой файл docker-compose:

version: '3.4'

services:
  calibration-upload-server:
image: ${DOCKER_REGISTRY}calibration-upload-server
build:
  context: .
  dockerfile: calibration-upload-server/Dockerfile
volumes:
- C:/Uploads/logs:/logs

При построении решения в Visual Studio, docker compose, кажется, способен анализировать файл, а группа томов выглядит следующим образом:

volumes:
- C:\Uploads\logs:/logs:rw
- C:\Users\UserName\AppData\Roaming\ASP.NET\Https:/root/.aspnet/https:ro
- C:\Users\UserName\AppData\Roaming\Microsoft\UserSecrets:/root/.microsoft/usersecrets:ro

Таким образом, кажется, что файл был проанализирован правильно (другойдва тома из файла переопределения).Но когда я запускаю решение, docker run запускается без этого тома:

docker run -dt -v "C:\Users\UserName\vsdbg\vs2017u5:/remote_debugger:rw" -v "C:\Repos\calibration-upload-server\calibration-upload-server:/app" -v "C:\Users\UserName\AppData\Roaming\ASP.NET\Https:/root/.aspnet/https:ro" -v "C:\Users\UserName\AppData\Roaming\Microsoft\UserSecrets:/root/.microsoft/usersecrets:ro" -v "C:\Users\UserName\.nuget\packages\:/root/.nuget/fallbackpackages2" -v "C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "ASPNETCORE_ENVIRONMENT=Development" -e "ASPNETCORE_URLS=https://+:443;http://+:80" -e "ASPNETCORE_HTTPS_PORT=44396" -e "NUGET_PACKAGES=/root/.nuget/fallbackpackages2" -e "NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages;/root/.nuget/fallbackpackages2" -p 55498:80 -p 44396:443 --entrypoint tail calibrationuploadserver:dev -f /dev/null

Самым неприятным моментом является то, что этот прекрасно работал , пока я не переименовал решение и проект.Я понятия не имею, если это то, что сломало это или нет, но все же.

Еще одна вещь, которая может иметь значение, когда я получаю предупреждение, что The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.

Есть ли что-то, чтобы понятьгде ошибка?

...