200-901 Application Deployment and Security Practice Question
A developer is creating a Dockerfile for a Python Flask application. The application runs on port 5000. Which directive should be used to document that the container listens on this port?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
EXPOSE 5000
The EXPOSE directive informs Docker that the container listens on specified ports at runtime. It does not actually publish the port but serves as documentation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
EXPOSE 5000
Why this is correct
EXPOSE 5000 documents that the container listens on port 5000 at runtime; it is metadata for image consumers and does not publish the port. This matches the requirement to document the Flask application's listening port.
- ✗
PORT 5000
Why it's wrong here
PORT is not a Dockerfile instruction; Docker would reject it as an unknown directive. EXPOSE 5000 is the correct directive, documenting the port the container listens on. PORT resembles environment-variable conventions in other platforms, which is why it appears plausible to developers new to Dockerfile syntax.
- ✗
PUBLISH 5000
Why it's wrong here
PUBLISH is not a Dockerfile instruction; publishing occurs at runtime via docker run -p or compose ports. EXPOSE 5000 documents the listening port inside the image. PUBLISH would be the right concept when mapping container ports to host ports during container execution, not during image build.
- ✗
LISTEN 5000
Why it's wrong here
LISTEN is not a Dockerfile instruction; it is a socket or server configuration concept, not image metadata. EXPOSE 5000 is the directive that documents the container's listening port. LISTEN would be relevant when configuring the Flask application's bind address or a reverse proxy, not the Dockerfile.
Go deeper
Related to this question
About these practice questions
This 200-901 question is part of Courseiva's 975-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.