通常、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が見つかりません
ベストアンサー1
コンテナ内でもが利用できsudo
ない場合は、次のコマンドを使用して、ユーザーとして実行中のコンテナにジャンプすることもできます。apt-get
root
docker exec -u root -t -i container_id /bin/bash