Невозможно создать каталог. Разрешение отклонено внутри контейнера докеров
Невозможно создать папку во время создания изображения с пользователем root, добавленным в группу sudoers. Вот мой файл Docker:
FROM ubuntu:16.04
RUN apt-get update && \
apt-get -y install sudo
RUN adduser --disabled-password --gecos '' newuser \
&& adduser newuser sudo \
&& echo '%sudo ALL=(ALL:ALL) ALL' >> /etc/sudoers
USER newuser
RUN mkdir -p /newfolder
WORKDIR /newfolder
Я получаю ошибку: mkdir: cannot create directory '/newfolder': Permission denied
Ответы
Ответ 1
Файловые системы внутри контейнера Docker работают так же, как файлы, находящиеся за пределами контейнера Docker: вам нужны соответствующие разрешения, если вы собираетесь создавать файлы или каталоги. В этом случае вы пытаетесь создать /newfolder
как пользователь без полномочий root (поскольку директива USER
изменяет UID, используемый для запуска любых последующих команд). Это не сработает, потому что /
принадлежит root
и имеет режим dr-xr-xr-x
.
Попробуйте вместо этого:
RUN mkdir -p /newfolder
RUN chown newuser /newfolder
USER newuser
WORKDIR /newfolder
Это создаст каталог как root
, а затем chown
it.
Ответ 2
docker cp some_dir mysql:/opt
Вместо создания каталога скопируйте пустой каталог или файл по этому пути в контейнере, используя docker cp.