📖 Scenario: You are working with Docker containers on your local machine. You want to learn how to check details about running containers to understand their status and configuration.
🎯 Goal: Learn how to list running Docker containers, identify a container by its name, and inspect detailed information about that container.
📋 What You'll Learn
Use the docker ps command to list running containers
Identify the container name from the list
Use the docker inspect <container_name> command to view detailed container information
💡 Why This Matters
🌍 Real World
Inspecting container details helps you understand how your applications run inside Docker containers and troubleshoot issues.
💼 Career
Knowing how to inspect containers is essential for DevOps roles to monitor, debug, and manage containerized applications.
Progress0 / 4 steps
1
List running Docker containers
Run the command docker ps to list all running Docker containers on your machine.
Docker
Hint
Use docker ps to see running containers.
2
Identify a container name
From the output of docker ps, find the exact container name you want to inspect. Assign this name as a string to a variable called container_name in your shell or script.
Docker
Hint
Look at the last column in docker ps output for the container name. Use that exact name in container_name.
3
Inspect the container details
Use the command docker inspect $container_name to get detailed information about the container stored in the variable container_name.
Docker
Hint
Use docker inspect $container_name to see detailed info.
4
Display container's IP address
From the output of docker inspect $container_name, extract and display only the container's IP address using the command docker inspect -f '{{ .NetworkSettings.IPAddress }}' $container_name.
Docker
Hint
Use the -f flag with docker inspect and the Go template {{ .NetworkSettings.Networks.bridge.IPAddress }} to get the IP address.
Practice
(1/5)
1. What does the command docker inspect CONTAINER do?
easy
A. Shows detailed JSON information about the specified container
B. Starts the specified container
C. Deletes the specified container
D. Lists all running containers
Solution
Step 1: Understand the command purpose
The docker inspect command is used to get detailed information about Docker objects like containers.
Step 2: Identify the output type
It returns detailed JSON data about the container's configuration and state.
Final Answer:
Shows detailed JSON information about the specified container -> Option A
Quick Check:
docker inspect = detailed JSON info [OK]
Hint: Remember: inspect means see detailed info [OK]
Common Mistakes:
Confusing inspect with start or delete commands
Expecting a simple list instead of JSON output
Using inspect without specifying a container
2. Which of the following is the correct syntax to get only the container's IP address using docker inspect?
easy
A. docker inspect --format='{{.NetworkSettings.IPAddress}}' CONTAINER
B. docker inspect --ip CONTAINER
C. docker inspect -ip CONTAINER
D. docker inspect --format='{{IPAddress}}' CONTAINER
Solution
Step 1: Recall the --format option usage
The --format flag uses Go templates to extract specific fields from the JSON output.
Step 2: Identify the correct template for IP address
The IP address is under .NetworkSettings.IPAddress, so the correct syntax is {{.NetworkSettings.IPAddress}}.
Final Answer:
docker inspect --format='{{.NetworkSettings.IPAddress}}' CONTAINER -> Option A
Quick Check:
Use --format with correct JSON path [OK]
Hint: Use --format with full JSON path in double braces [OK]
Common Mistakes:
Using incorrect flags like --ip or -ip
Missing the dot before NetworkSettings in template
Not quoting the template string properly
3. Given a container named webapp, what will the command docker inspect --format='{{.State.Status}}' webapp output if the container is running?
medium
A. created
B. paused
C. exited
D. running
Solution
Step 1: Understand the .State.Status field
The .State.Status field shows the current status of the container, such as running, exited, paused, or created.
Step 2: Match the container state
If the container is running, the output will be the string running.
Final Answer:
running -> Option D
Quick Check:
.State.Status = running when container runs [OK]
Hint: Check .State.Status for container current state [OK]
Common Mistakes:
Confusing status with container name or ID
Expecting JSON output instead of plain string
Using wrong field like .Status instead of .State.Status
4. You run docker inspect --format='{{.Config.Env}}' mycontainer but get an error. What is the most likely cause?
medium
A. The container name is misspelled
B. The format string syntax is incorrect
C. The .Config.Env field does not exist in the container JSON
D. The container is not running
Solution
Step 1: Check the format string syntax
The .Config.Env field is an array, so printing it directly requires proper formatting.
Step 2: Identify the syntax error
Using {{.Config.Env}} tries to print an array directly, which causes a template error. You need to format it, for example with {{range .Config.Env}}{{println .}}{{end}}.
Final Answer:
The format string syntax is incorrect -> Option B
Quick Check:
Arrays need special formatting in --format [OK]
Hint: Arrays need loops in --format templates [OK]
Common Mistakes:
Assuming all fields print directly without formatting
Ignoring container name correctness
Thinking container must be running to inspect
5. You want to list all container names and their IP addresses in a simple format. Which command correctly achieves this?
B. docker ps --format='{{.Name}} {{.NetworkSettings.IPAddress}}'
C. docker inspect --format='{{.Name}} {{.NetworkSettings.IPAddress}}' $(docker ps -q)
D. docker inspect $(docker ps) --format='{{.Name}} {{.NetworkSettings.IPAddress}}'
Solution
Step 1: Understand how to get container IDs
docker ps -q lists container IDs only, which can be passed to docker inspect.
Step 2: Use inspect with multiple container IDs and format
Passing IDs as arguments to docker inspect with --format outputs info for each container. docker inspect --format='{{.Name}} {{.NetworkSettings.IPAddress}}' $(docker ps -q) uses this correctly.
Step 3: Check other options for errors
docker ps -q | xargs -n1 docker inspect --format='{{.Name}} {{.NetworkSettings.IPAddress}}' uses xargs but may break if container names have spaces. docker ps --format='{{.Name}} {{.NetworkSettings.IPAddress}}' is invalid because docker ps does not support .NetworkSettings.IPAddress. docker inspect $(docker ps) --format='{{.Name}} {{.NetworkSettings.IPAddress}}' uses wrong syntax for docker ps.
Final Answer:
docker inspect --format='{{.Name}} {{.NetworkSettings.IPAddress}}' $(docker ps -q) -> Option C
Quick Check:
Use docker inspect with IDs from docker ps -q [OK]
Hint: Use docker inspect with IDs from docker ps -q [OK]
Common Mistakes:
Trying to get IP from docker ps directly
Using wrong command substitution syntax
Not passing container IDs correctly to inspect
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.