Невозможно изменить владельца папки, используя Chown in docker file - PullRequest
0 голосов
/ 29 октября 2019

Я не могу изменить владельца папки при запуске chown в файле Docker. В настоящее время / app / Data принадлежит root, и я пытаюсь передать права собственности на moduleuser.

Вот мой dockerfile:

FROM microsoft/dotnet:2.1-sdk AS build-env
WORKDIR /app

COPY . ./
RUN dotnet restore Project/Magic.csproj --configfile ./NuGet.Config
RUN dotnet publish Project/Magic.csproj -c Release -o out

FROM microsoft/dotnet:2.1-runtime-stretch-slim
WORKDIR /app
COPY --from=build-env /app/Magic/out ./

RUN mkdir /sqlite
RUN chmod 777 /sqlite
RUN useradd -ms /bin/bash moduleuser
RUN chown -R moduleuser:moduleuser /app/Data
USER moduleuser

ENTRYPOINT ["dotnet", "Magic.dll"]

При построении изображения нет ошибоквыбрасывается RUN chown -R moduleuser:moduleuser /app/Data.

Step 12/14 : RUN chown -R moduleuser:moduleuser /app/Data ---> Running in f02802d1bb5a Removing intermediate container f02802d1bb5a ---> 1558b0aaf823 Step 13/14 : USER moduleuser

Когда я проверяю право собственности на / app / Data, он все равно показывает root.

moduleuser@cdcc6f8b78bc:/app/Data$ ls -ld drwxr-xr-x 2 root root 4096 Oct 29 00:06 .

, если язайдите внутрь контейнера и запустите chown -R moduleuser:moduleuser /app/Data, это работает, и владелец переключается на moduleuser, но по какой-то причине он не работает через dockerfile.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 29 октября 2019

is / app / Data точка монтирования раздела fat32? В таком случае это не сработает, потому что fat32 не реализует владение.

...