ユーザーによる権限指定のミス
以下のように、apt-getでインストールをする際はroot権限でないとエラーになります。
> [29/36] RUN apt-get install -y unzip wget:
#0 24.00 E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
#0 24.00 E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?エラーメッセージには、/var/lib/dpkg/lock-frontend ファイルを開く際の権限がないことが示されています。エラーの最後の部分、are you root? は、このコマンドを root ユーザーとして実行しているかどうかを問いかけています。
このエラーは、apt-get install コマンドを非rootユーザーとして実行しようとしたときに発生します。apt-get などのパッケージ管理コマンドは、通常、root ユーザーの権限で実行する必要があります。
この問題を解決するには、以下の2つの方法が考えられます:
- Dockerfileの先頭で
USER rootを宣言する:
Dockerfileの先頭部分にUSER rootを追加することで、その後のコマンドがrootユーザーとして実行されるようになります。
USER root
RUN apt-get update && apt-get install -y unzip wget- コマンドの前に
sudoを使用する:
もしsudoコマンドがイメージ内にインストールされている場合、sudoを使用してコマンドを実行することで、root権限でコマンドを実行することができます。ただし、これは一般的な方法ではなく、通常はUSER rootを使用する方が適切です。
上記のいずれかの方法で、Dockerfile内のコマンドを root ユーザーとして実行することで、このエラーは解消されるはずです。

