Я не могу изменить владельца папки при запуске 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.
Что мне здесь не хватает?