1. ホーム
  2. ubuntu

[解決済み] ディレクトリを作成できません。dockerコンテナ内部でパーミッションが拒否されました。

2022-02-07 07:01:19

質問

sudoersグループに追加された非ルートユーザーでイメージ構築中にフォルダを作成することができません。以下は私のDockerfileです。

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

どうすればいいですか?

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 それを