1. ホーム
  2. docker

[解決済み] dockerコンテナ内でsudoを使用するには?

2022-03-26 16:24:04

質問

通常、docker コンテナはユーザー ルート . 別のユーザーを使いたいのですが、これはdockerのUSERディレクティブを使えば問題ないです。しかし、このユーザは sudo コンテナ内で このコマンドは欠落しています。

このための簡単なDockerfileを紹介します。

FROM ubuntu:12.04

RUN useradd docker && echo "docker:docker" | chpasswd
RUN mkdir -p /home/docker && chown -R docker:docker /home/docker

USER docker
CMD /bin/bash

このコンテナを実行すると、ユーザー「docker」でログインされます。sudoを使おうとすると、コマンドが見つからない。そこで スードー を使用してDockerfile内にパッケージを作成します。

RUN apt-get install sudo

この結果 sudo パッケージを見つけることができません。

解決方法を教えてください。

今、手に入れました。reganが指摘したように、ユーザーをsudoersグループに追加する必要がありました。しかし、主な原因は、リポジトリのキャッシュを更新するのを忘れていたため、apt-get が sudo パッケージを見つけることができなかったことです。今は動いています。これが完成したコードです。

FROM ubuntu:12.04

RUN apt-get update && \
      apt-get -y install sudo

RUN useradd -m docker && echo "docker:docker" | chpasswd && adduser docker sudo

USER docker
CMD /bin/bash