It creates and starts a new container from a specified Docker image.
Click to reveal answer
beginner
How do you run a container in the background (detached mode)?
Use the -d option with docker run, like docker run -d image_name.
Click to reveal answer
beginner
What option allows you to map a container port to a host port?
The -p option, for example docker run -p 8080:80 image_name maps host port 8080 to container port 80.
Click to reveal answer
beginner
How can you give a container a custom name when running it?
Use the --name option, like docker run --name mycontainer image_name.
Click to reveal answer
beginner
What happens if you run docker run without specifying a command?
Docker runs the default command defined in the image's CMD or ENTRYPOINT.
Click to reveal answer
Which option runs a Docker container in detached mode?
A-p
B--name
C-d
D-it
✗ Incorrect
The -d option runs the container in the background (detached mode).
How do you map port 5000 on your computer to port 80 in the container?
Adocker run -p 5000:80 image
Bdocker run -p 80:5000 image
Cdocker run --port 5000:80 image
Ddocker run -port 80:5000 image
✗ Incorrect
The syntax is -p hostPort:containerPort, so -p 5000:80 maps host port 5000 to container port 80.
What does docker run --name myapp image do?
ANames the image as myapp
BNames the container as myapp
CRuns the container with default name
DDeletes the container named myapp
✗ Incorrect
The --name option assigns a custom name to the container.
If you want to interact with a container's terminal, which option should you add?
A-it
B-p
C-d
D--name
✗ Incorrect
The -it option allows interactive terminal access to the container.
What is the default behavior if no command is given in docker run?
AThrows an error
BContainer will not start
CRuns an interactive shell
DRuns the image's default command
✗ Incorrect
Docker runs the default command specified in the image's configuration.
Explain how to run a Docker container in detached mode with a custom name and port mapping.
Think about options for background, naming, and ports.
You got /6 concepts.
Describe what happens when you run docker run without specifying a command or options.
Focus on Docker image defaults.
You got /3 concepts.
Practice
(1/5)
1. What does the docker run command do?
easy
A. Starts a new container from a specified image
B. Builds a new Docker image from a Dockerfile
C. Stops a running Docker container
D. Deletes an existing Docker image
Solution
Step 1: Understand the purpose of docker run
The docker run command is used to start a new container based on a Docker image.
Step 2: Differentiate from other Docker commands
Commands like docker build create images, docker stop stops containers, and docker rmi removes images, so they are not correct here.
Final Answer:
Starts a new container from a specified image -> Option A
Quick Check:
docker run = start container [OK]
Hint: Remember: run = start container from image [OK]
Common Mistakes:
Confusing 'run' with 'build' command
Thinking 'run' deletes images
Mixing 'run' with stopping containers
2. Which of the following is the correct syntax to run an interactive container with a bash shell using the image ubuntu?
easy
A. docker run ubuntu -it bash
B. docker run -d ubuntu bash
C. docker run -it ubuntu bash
D. docker run ubuntu -d -it bash
Solution
Step 1: Identify flags for interactive mode
The -it flag is used to run a container interactively with a terminal attached.
Step 2: Check command order and flags
The correct syntax places flags immediately after docker run, then the image name, then the command to run inside the container.
Final Answer:
docker run -it ubuntu bash -> Option C
Quick Check:
Flags before image, -it for interactive [OK]
Hint: Put flags right after 'docker run', then image, then command [OK]
Common Mistakes:
Placing flags after image name
Using -d for interactive shell
Mixing order of command and flags
3. What will be the output of the following command?
docker run --rm alpine echo Hello World
medium
A. Hello World
B. Container ID printed
C. Error: alpine image not found
D. No output, container runs in background
Solution
Step 1: Understand the command components
docker run --rm alpine echo Hello World runs the echo Hello World command inside an Alpine container and removes the container after it finishes.
Step 2: Predict the output
The command prints Hello World to the terminal, then the container stops and is removed automatically.
Final Answer:
Hello World -> Option A
Quick Check:
Run with echo prints text, --rm cleans up [OK]
Hint: Echo prints text, --rm removes container after run [OK]
Common Mistakes:
Expecting container ID output
Thinking container stays running
Assuming image is missing
4. You run docker run -p 8080:80 nginx but cannot access the web server on port 8080. What is a likely cause?
medium
A. Port mapping syntax is incorrect
B. The container is not running
C. You forgot to add -d to run detached
D. Port 80 inside container is not exposed
Solution
Step 1: Check container running status
If the container is not running, port mapping won't work and you can't access the server.
Step 2: Verify port exposure and syntax
By default, nginx listens on port 80 and the syntax -p 8080:80 is correct. -d is optional but recommended for background.
Final Answer:
The container is not running -> Option B
Quick Check:
Container must run for port mapping to work [OK]
Hint: Check if container is running before checking ports [OK]
Common Mistakes:
Assuming port 80 is not exposed by nginx
Thinking -d is required for port mapping
Misunderstanding port mapping syntax
5. You want to run a container from the image myapp that needs environment variables API_KEY and DEBUG set, and expose port 5000 on the host to port 80 in the container. Which command is correct?
hard
A. docker run -e API_KEY=123 DEBUG=true -p 5000:80 myapp
B. docker run -p 80:5000 -e API_KEY=123 -e DEBUG=true myapp
C. docker run myapp -e API_KEY=123 -e DEBUG=true -p 5000:80
D. docker run -e API_KEY=123 -e DEBUG=true -p 5000:80 myapp
Solution
Step 1: Set environment variables correctly
Use -e VAR=value for each environment variable before the image name.
Step 2: Map ports correctly
Host port 5000 maps to container port 80 with -p 5000:80. The order is flags, then image name.
Step 3: Verify command order and syntax
Options must come before the image name. docker run -p 80:5000 -e API_KEY=123 -e DEBUG=true myapp reverses ports, C places options after image, D misses -e for second variable.
Final Answer:
docker run -e API_KEY=123 -e DEBUG=true -p 5000:80 myapp -> Option D
Quick Check:
Flags before image, correct port and env syntax [OK]
Hint: Put all flags before image; use -e for each env var [OK]
Common Mistakes:
Placing options after image name
Reversing port mapping order
Missing -e for environment variables
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.