When run(start) a docker container from an image, we can specify the default user by passing -u option in command line(In https://docs.docker.com/engine/reference/run/#user ). For example
We can also use the USER instruction in DOCKERFILE to do the same thing(In https://docs.docker.com/engine/reference/builder/#user), note that the option in command line will override the one in the DOCKERFILE.
And there is actually another way to start a container with neither DOCKERFILE nor -u option, just by a command like:
This happens when your start the container from an image committed by a container with ubuntu as the default user. Or in detail:
docker run -i -t -u ubuntu ubuntu:latest /bin/bash
We can also use the USER instruction in DOCKERFILE to do the same thing(In https://docs.docker.com/engine/reference/builder/#user), note that the option in command line will override the one in the DOCKERFILE.
And there is actually another way to start a container with neither DOCKERFILE nor -u option, just by a command like:
docker run -i -t ubuntu:latest /bin/bash # with ubuntu as the default user
This happens when your start the container from an image committed by a container with ubuntu as the default user. Or in detail:
- Run a container from some basic images, create ubuntu user inside it, commit the container to CUSTOM_IMAGE:1 .
- Run a container from CUSTOM_IMAGE:1 with "-u ubuntu" option, and commit the container to CUSTOM_IAMGE:2 .
- Now you can start containers from CUSTOM_IAMGE:2 with neither DOCKERFILE nor -u option, the default user would be ubuntu
Comments