通常、docker コンテナーはユーザーrootを使用して実行されます。別のユーザーを使用したいのですが、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内にsudoパッケージをインストールしようとしました
RUN apt-get install sudo
これにより、パッケージ sudo が見つかりません