To ensure that docker run -u
and USER
inside of a Dockerfile are respected on VIC.
1 - Dockerfile Reference -- USER directive 2 - Docker command line reference (run options; look for --user)
This test requires that a vSphere server is running and available
It also expects 3 Docker images exist, built from the Dockerfiles in vic/tests/resources/dockerfiles and published to a Docker image repository reachable by the machine running tests.
- Run a container that was built with a
USER
directive using a user created withRUN adduser
- Run a container that specifies the user should have UID 2000 and doesn't specify GID
- Run a container that does not specify a user and set it manually with
docker run -u
- Run a container that specifies UID 2000 and GID 2000
- Run a container that does not specify a user or group but set them manually with
docker run -u
- Try to run a container with
-u
specifying a nonexistent user - Try to run a container with
-u
specifying a nonexistent group - Run a container specifying
-u 0:0
1-5 should run successfully with the options specified taking effect inside the container and reflected via id
or whoami
output
6 & 7 will fail with exit code 125 and an error message
8 will run successfully and whoami
will report the user root
Docker image repository downtime or unreachability will cause failure on the tests that pull images from Docker Hub