Dockerfile ведет себя по-разному на разных машинах - PullRequest
0 голосов
/ 02 октября 2019

Я сталкиваюсь с, казалось бы, невозможной ситуацией: я создаю приложение .Net со следующим Dockerfile:

FROM mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 AS netbuild
WORKDIR /app

COPY . ./

RUN dotnet publish -c Debug -o out

FROM mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019
WORKDIR /app

COPY --from=netbuild /app/MyProject/out .

#Some other things and an entrypoint

И моя команда сборки

docker build -t myapp:test -f Dockerfile-backend-only .

На моемЛокальная машина это прекрасно работает. Однако когда я запускаю его на другом компьютере, который служит агентом сборки, dotnet publish решает поместить результат сборки в C: \ app \ out вместо C: \ app\ MyProject \ out .

Теперь я уже читал, что поведение опции -o для относительных путей изменилось в некоторых выпусках инструментов сборки, но это Dockerfile,так что это не должно иметь никакого эффекта. Также на обеих машинах установлена ​​Win 10 Pro и установлена ​​последняя версия Docker.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...