Bird
Raised Fist0
Dockerdevops~10 mins

Opening a shell in container in Docker - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the command to open an interactive shell inside a running Docker container named 'myapp'.

Docker
docker exec -it myapp [1]
Drag options to blanks, or click blank then click option'
Arun
Bstop
Cstart
D/bin/bash
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'run' instead of a shell path.
Trying to start or stop the container instead of opening a shell.
2fill in blank
medium

Complete the command to open a shell in a container with ID 'abc123' using sh shell.

Docker
docker exec -it abc123 [1]
Drag options to blanks, or click blank then click option'
A/bin/bash
Bbash
C/bin/sh
Dsh
Attempts:
3 left
💡 Hint
Common Mistakes
Using just 'sh' without the full path.
Using bash when it might not be installed.
3fill in blank
hard

Fix the error in the command to open a shell in container 'webapp'.

Docker
docker exec -it [1] /bin/bash
Drag options to blanks, or click blank then click option'
Awebapp
B-webapp
Cwebapp/
Dweb app
Attempts:
3 left
💡 Hint
Common Mistakes
Adding dashes or slashes to the container name.
Using spaces in the container name.
4fill in blank
hard

Fill both blanks to open a shell in container 'db' and keep the session interactive.

Docker
docker [1] -it [2] /bin/bash
Drag options to blanks, or click blank then click option'
Aexec
Brun
Cdb
Dstart
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'run' which starts a new container instead of exec.
Using 'start' which does not open a shell.
5fill in blank
hard

Fill all three blanks to open an interactive shell in container 'app1' using sh shell.

Docker
docker [1] [2] app1 [3]
Drag options to blanks, or click blank then click option'
Aexec
B-it
C/bin/sh
Drun
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'run' instead of 'exec'.
Forgetting the '-it' flags.
Using shell name without full path.

Practice

(1/5)
1. What is the main purpose of the command docker exec -it <container> /bin/bash?
easy
A. To stop a running container
B. To start a new container from an image
C. To open an interactive shell inside a running container
D. To build a Docker image

Solution

  1. Step 1: Understand the command components

    The command uses docker exec to run a command inside a running container. The -it flags make the session interactive and allocate a terminal.
  2. Step 2: Identify the command's effect

    Using /bin/bash opens a shell inside the container, allowing direct interaction.
  3. Final Answer:

    To open an interactive shell inside a running container -> Option C
  4. Quick Check:

    docker exec -it container /bin/bash = open shell [OK]
Hint: Remember exec + -it + shell opens container shell [OK]
Common Mistakes:
  • Confusing exec with docker run
  • Forgetting the -it flags for interactivity
  • Trying to open shell in a stopped container
2. Which of the following is the correct syntax to open a shell inside a running Docker container named webapp?
easy
A. docker exec -it webapp /bin/sh
B. docker start -it webapp /bin/sh
C. docker run -it webapp /bin/sh
D. docker exec webapp -it /bin/sh

Solution

  1. Step 1: Recall the correct order of docker exec flags

    The -it flags must come immediately after docker exec and before the container name.
  2. Step 2: Check the command structure

    The correct syntax is docker exec -it <container> <shell>. docker exec -it webapp /bin/sh matches this exactly.
  3. Final Answer:

    docker exec -it webapp /bin/sh -> Option A
  4. Quick Check:

    Flags -it come before container name [OK]
Hint: Flags -it always come right after exec command [OK]
Common Mistakes:
  • Placing -it after container name
  • Using docker run instead of exec
  • Using docker start with shell command
3. Given a running container named db, what will be the output of the command docker exec -it db /bin/false?
medium
A. The command exits immediately with no shell opened
B. Error: container not found
C. An interactive shell opens inside the container
D. The container stops running

Solution

  1. Step 1: Understand the command /bin/false

    The command /bin/false is a program that immediately exits with a failure status and does not open a shell.
  2. Step 2: Predict the command behavior inside the container

    Running docker exec -it db /bin/false will run /bin/false inside the container, which exits immediately without opening a shell.
  3. Final Answer:

    The command exits immediately with no shell opened -> Option A
  4. Quick Check:

    /bin/false exits immediately, no shell [OK]
Hint: Commands like /bin/false exit immediately, no shell [OK]
Common Mistakes:
  • Expecting a shell to open
  • Confusing container not found error
  • Thinking container stops after exec
4. You try to open a shell inside a running container with docker exec -it mycontainer /bin/bash but get the error: OCI runtime exec failed: exec failed: container_linux.go:xxx: exec: "/bin/bash": stat /bin/bash: no such file or directory. What is the best way to fix this?
medium
A. Restart the Docker daemon
B. Use /bin/sh instead of /bin/bash
C. Rebuild the container image
D. Stop and remove the container

Solution

  1. Step 1: Analyze the error message

    The error says /bin/bash does not exist inside the container, so the shell is missing.
  2. Step 2: Choose an alternative shell

    Many containers have /bin/sh instead of /bin/bash. Using /bin/sh usually works.
  3. Final Answer:

    Use /bin/sh instead of /bin/bash -> Option B
  4. Quick Check:

    Use available shell like /bin/sh if /bin/bash missing [OK]
Hint: Try /bin/sh if /bin/bash not found inside container [OK]
Common Mistakes:
  • Restarting Docker daemon unnecessarily
  • Rebuilding image without checking shell availability
  • Removing container without trying alternative shells
5. You want to open a shell inside a running container named app but it does not have /bin/bash or /bin/sh. Which command can you try to open a shell if ash is installed inside the container?
hard
A. docker exec -it app /bin/zsh
B. docker exec -it app /bin/bash
C. docker exec -it app /bin/sh
D. docker exec -it app /bin/ash

Solution

  1. Step 1: Identify available shells inside container

    If /bin/bash and /bin/sh are missing, but ash is installed, you can use /bin/ash to open a shell.
  2. Step 2: Use docker exec with the correct shell path

    The command docker exec -it app /bin/ash opens an interactive shell using ash inside the container.
  3. Final Answer:

    docker exec -it app /bin/ash -> Option D
  4. Quick Check:

    Use shell installed inside container, e.g. /bin/ash [OK]
Hint: Try shells like /bin/ash if bash and sh missing [OK]
Common Mistakes:
  • Assuming bash or sh always exist
  • Using wrong shell path
  • Not checking installed shells inside container
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