Bird
Raised Fist0
Dockerdevops~20 mins

docker compose up and down - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Docker Compose Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of docker compose up when the service is already running?
You run docker compose up on a project where the containers are already running. What will happen?
ADocker Compose will attach to the existing containers and show their logs.
BDocker Compose will recreate all containers regardless of their current state.
CDocker Compose will throw an error saying containers are already running.
DDocker Compose will stop the running containers and start new ones.
Attempts:
2 left
💡 Hint
Think about how Docker Compose behaves to avoid restarting containers unnecessarily.
💻 Command Output
intermediate
2:00remaining
What happens when you run docker compose down?
You have a Docker Compose project running. You execute docker compose down. What is the result?
AIt removes only the containers but leaves networks and volumes running.
BIt only stops the containers but keeps networks and volumes intact.
CIt stops and removes containers and networks created by <code>up</code>.
DIt restarts the containers without removing anything.
Attempts:
2 left
💡 Hint
Consider what down means compared to stop.
🔀 Workflow
advanced
2:00remaining
Order the steps to safely update a service using Docker Compose
You want to update a service defined in your Docker Compose file. Put these commands in the correct order to update the service without downtime.
A3,1,4,2
B1,2,4,3
C1,2,4
D1,2
Attempts:
2 left
💡 Hint
Think about updating only the service without stopping the whole project.
❓ Troubleshoot
advanced
2:00remaining
Why does docker compose down not remove volumes by default?
You ran docker compose down but noticed your volumes still exist. Why does this happen?
AVolumes are persistent by design and must be removed explicitly with <code>--volumes</code> flag.
BDocker Compose has a bug that prevents volume removal.
CVolumes are removed only if containers are stopped manually before running <code>down</code>.
DVolumes are removed only if you use <code>docker compose stop</code> before <code>down</code>.
Attempts:
2 left
💡 Hint
Think about data safety and persistence in Docker volumes.
✅ Best Practice
expert
2:00remaining
Which command sequence is best to completely reset a Docker Compose environment including volumes?
You want to completely reset your Docker Compose environment, removing containers, networks, and volumes. Which command sequence achieves this safely?
Adocker compose down --volumes && docker network prune
Bdocker compose down --rmi all --volumes
Cdocker compose down && docker volume prune
Ddocker compose stop && docker compose rm -v && docker network prune
Attempts:
2 left
💡 Hint
Consider removing images, volumes, and networks in one command.

Practice

(1/5)
1. What does the command docker compose up do in a multi-container application?
easy
A. Deletes the docker-compose file
B. Stops and removes all containers
C. Starts all the containers defined in the docker-compose file
D. Builds images but does not start containers

Solution

  1. Step 1: Understand the purpose of docker compose up

    This command reads the docker-compose.yml file and starts all the containers defined in it.
  2. Step 2: Compare with other commands

    docker compose down stops and removes containers, so it is not the same as up.
  3. Final Answer:

    Starts all the containers defined in the docker-compose file -> Option C
  4. Quick Check:

    docker compose up = start containers [OK]
Hint: Remember: 'up' means start containers [OK]
Common Mistakes:
  • Confusing 'up' with 'down'
  • Thinking 'up' deletes files
  • Assuming 'up' only builds images
2. Which of the following is the correct command to stop and remove all containers started by docker compose?
easy
A. docker compose stop
B. docker compose down
C. docker compose remove
D. docker compose kill

Solution

  1. Step 1: Identify the command to stop and remove containers

    docker compose down stops and removes containers, networks, and default volumes created by up.
  2. Step 2: Differentiate from other commands

    docker compose stop only stops containers but does not remove them. remove is not a valid command here.
  3. Final Answer:

    docker compose down -> Option B
  4. Quick Check:

    down = stop and remove [OK]
Hint: Use 'down' to stop and clean containers [OK]
Common Mistakes:
  • Using 'stop' which doesn't remove containers
  • Trying non-existent commands like 'remove'
  • Confusing 'kill' with 'down'
3. Given this sequence of commands:
docker compose up -d
docker compose down
What will be the state of the containers after these commands?
medium
A. Containers are removed and not running
B. Containers are stopped but still exist
C. Containers are running in detached mode
D. Containers are paused

Solution

  1. Step 1: Analyze docker compose up -d

    This starts containers in detached mode (running in background).
  2. Step 2: Analyze docker compose down

    This stops and removes all containers started by up.
  3. Final Answer:

    Containers are removed and not running -> Option A
  4. Quick Check:

    up -d starts, down removes [OK]
Hint: 'down' removes containers even if started detached [OK]
Common Mistakes:
  • Thinking containers remain stopped but not removed
  • Confusing paused with stopped
  • Assuming detached means containers stay after down
4. You ran docker compose down but your containers are still running. What is the most likely reason?
medium
A. You ran docker compose down in a different directory than the compose file
B. You forgot to add -d flag
C. The containers were started with docker run instead
D. Docker daemon is not running

Solution

  1. Step 1: Understand how docker compose down works

    This command affects containers defined in the compose file in the current directory.
  2. Step 2: Identify why containers remain running

    If run in a different directory, it won't find or stop those containers.
  3. Final Answer:

    You ran docker compose down in a different directory than the compose file -> Option A
  4. Quick Check:

    Correct directory needed for down [OK]
Hint: Run commands where your compose file is located [OK]
Common Mistakes:
  • Thinking -d flag affects stopping containers
  • Assuming down stops containers from docker run
  • Not checking Docker daemon status
5. You want to restart your multi-container app with fresh containers, removing old volumes and networks. Which command should you run?
hard
A. docker compose up --build
B. docker compose stop && docker compose start
C. docker compose restart
D. docker compose down -v && docker compose up -d

Solution

  1. Step 1: Understand the need to remove old volumes and networks

    Removing volumes requires the -v flag with docker compose down.
  2. Step 2: Combine commands to remove and start fresh

    docker compose down -v removes containers, networks, and volumes; docker compose up -d starts fresh containers in detached mode.
  3. Final Answer:

    docker compose down -v && docker compose up -d -> Option D
  4. Quick Check:

    Use down -v to remove volumes before up [OK]
Hint: Use 'down -v' to remove volumes before 'up' [OK]
Common Mistakes:
  • Using 'restart' which doesn't remove volumes
  • Using 'stop' and 'start' which keep old volumes
  • Assuming '--build' removes volumes
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