Using sudo inside a docker container
Normally, docker containers are run using the user root. I’d like to use a different user, which is no problem using docker’s USER directive. But this user should be able to use sudo inside the container. This command is missing.
Here’s a simple Dockerfile for this purpose:
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
Running this container, I get logged in with user ‘docker’. When I try to use sudo, the command isn’t found. So I tried to install the sudo package inside my Dockerfile using
RUN apt-get install sudo
This results in Unable to locate package sudo
I’ve no idea how to manage this. Any suggestions? Thx a lot!
One Solution collect form web for “Using sudo inside a docker container”
Just got it. As regan pointed out, I had to add the user to the sudoers group. But the main reason was I’d forgotten to update the repositories cache, so apt-get couldn’t find the sudo package. It’s working now. Here’s the completed code:
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