Bird
Raised Fist0
Dockerdevops~20 mins

Executing commands with docker exec - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Docker Exec Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
Output of docker exec with environment variable
What is the output of this command if the container named webapp has an environment variable APP_MODE=production set?

docker exec webapp printenv APP_MODE
Docker
docker exec webapp printenv APP_MODE
AAPP_MODE
BError: No such container: webapp
Cprintenv APP_MODE
Dproduction
Attempts:
2 left
💡 Hint
The command prints the value of the environment variable inside the container.
💻 Command Output
intermediate
1:30remaining
Effect of docker exec with interactive shell
What happens when you run this command?

docker exec -it mycontainer /bin/bash
Docker
docker exec -it mycontainer /bin/bash
AStarts an interactive bash shell inside the running container named mycontainer
BStops the container named mycontainer
CShows the logs of the container named mycontainer
DCreates a new container named mycontainer
Attempts:
2 left
💡 Hint
The flags -i and -t are used for interactive terminal sessions.
❓ Troubleshoot
advanced
2:00remaining
Troubleshooting docker exec permission error
You run docker exec mycontainer ls /root and get a permission denied error. What is the most likely cause?
AThe /root directory does not exist inside the container
BThe container is not running
CThe user inside the container does not have permission to access /root directory
DThe docker daemon is not started
Attempts:
2 left
💡 Hint
Consider user permissions inside the container.
🔀 Workflow
advanced
2:30remaining
Correct sequence to update a file inside a running container
You want to update a configuration file inside a running container named app. Which sequence of commands is correct?
A2,1,3,4
B1,2,3,4
C1,3,2,4
D4,1,2,3
Attempts:
2 left
💡 Hint
Copy the file first, then move it, verify, and restart the service.
✅ Best Practice
expert
2:00remaining
Best practice for running a command as root inside a container
Which docker exec command correctly runs apt-get update as root inside a container named db?
Adocker exec -u root db apt-get update
Bdocker exec db -u root apt-get update
Cdocker exec db apt-get update -u root
Ddocker exec --user db root apt-get update
Attempts:
2 left
💡 Hint
The -u or --user flag must come before the container name.

Practice

(1/5)
1. What does the docker exec command do?
easy
A. Runs a command inside a running container
B. Starts a new container from an image
C. Stops a running container
D. Builds a Docker image from a Dockerfile

Solution

  1. Step 1: Understand the purpose of docker exec

    The docker exec command is used to run commands inside an already running container without stopping it.
  2. Step 2: Compare with other Docker commands

    Starting a container is done with docker run, stopping with docker stop, and building images with docker build. These are different from docker exec.
  3. Final Answer:

    Runs a command inside a running container -> Option A
  4. Quick Check:

    docker exec = run command inside container [OK]
Hint: Remember: exec means execute inside running container [OK]
Common Mistakes:
  • Confusing exec with docker run
  • Thinking exec stops containers
  • Mixing exec with image build commands
2. Which of the following is the correct syntax to start an interactive bash shell inside a running container named webapp?
easy
A. docker exec webapp bash -it
B. docker exec bash -it webapp
C. docker exec -ti bash webapp
D. docker exec -it webapp bash

Solution

  1. Step 1: Recall the correct option order for docker exec

    The correct syntax places options like -it immediately after docker exec, then the container name, then the command.
  2. Step 2: Validate each option

    docker exec -it webapp bash correctly uses docker exec -it webapp bash. Options A, B, and C have incorrect order of arguments or options.
  3. Final Answer:

    docker exec -it webapp bash -> Option D
  4. Quick Check:

    Options come right after exec, then container, then command [OK]
Hint: Options (-it) come right after exec, before container name [OK]
Common Mistakes:
  • Placing options after container name
  • Swapping container name and command
  • Using wrong option order like -ti instead of -it
3. Given a running container named db, what will be the output of this command?
docker exec db ls /var/lib/mysql
medium
A. Shows an error because ls is not a valid command
B. Lists files on the host machine's /var/lib/mysql directory
C. Lists files and folders inside /var/lib/mysql in the container
D. Starts a new container named db and runs ls

Solution

  1. Step 1: Understand what docker exec does with ls /var/lib/mysql

    The command runs ls /var/lib/mysql inside the running container named db, listing files in that path inside the container.
  2. Step 2: Eliminate incorrect options

    ls is a valid command inside Linux containers, so no error. It does not list host files or start a new container.
  3. Final Answer:

    Lists files and folders inside /var/lib/mysql in the container -> Option C
  4. Quick Check:

    docker exec runs command inside container filesystem [OK]
Hint: Exec runs commands inside container, not on host [OK]
Common Mistakes:
  • Thinking exec runs commands on host
  • Assuming exec starts new containers
  • Believing ls is invalid inside containers
4. You run docker exec webapp bash but get the error: the input device is not a TTY. What is the likely fix?
medium
A. Stop the container and restart it
B. Add the -it flags to enable interactive terminal
C. Use docker run instead of docker exec
D. Remove the bash command from the exec

Solution

  1. Step 1: Understand the error about TTY

    The error means the command expects an interactive terminal but none was allocated.
  2. Step 2: Fix by adding -it flags

    Adding -it allocates a pseudo-TTY and keeps stdin open, enabling interactive shells inside containers.
  3. Final Answer:

    Add the -it flags to enable interactive terminal -> Option B
  4. Quick Check:

    Interactive shells need -it flags [OK]
Hint: Use -it for interactive commands to avoid TTY errors [OK]
Common Mistakes:
  • Ignoring the need for -it flags
  • Restarting container unnecessarily
  • Confusing exec with run command
5. You want to check the environment variables inside a running container named api. Which command correctly does this and shows output interactively?
hard
A. docker exec -it api env
B. docker exec env api
C. docker exec -it env api
D. docker exec api -it env

Solution

  1. Step 1: Identify the need for interactive output

    To see environment variables interactively, you need to allocate a TTY and keep stdin open using -it.
  2. Step 2: Check command syntax

    docker exec -it api env correctly places -it after docker exec, then container name api, then command env. Other options have wrong order or missing flags.
  3. Final Answer:

    docker exec -it api env -> Option A
  4. Quick Check:

    Use -it before container name for interactive commands [OK]
Hint: Place -it right after exec for interactive commands [OK]
Common Mistakes:
  • Placing -it after container or command
  • Omitting -it for interactive output
  • Swapping command and container name
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard