XK0-006 Automation, Orchestration, and Scripting Practice Question
A developer is writing a Dockerfile. The application requires a configuration file that should be copied from the build context and the container should expose port 8080. Which combination of Dockerfile instructions is correct?
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
✓
COPY config.txt /app/ and EXPOSE 8080
COPY adds files from the build context, and EXPOSE documents the port. Other instructions serve different purposes.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
COPY config.txt /app/ and EXPOSE 8080
Why this is correct
COPY transfers config.txt from the build context into the image at /app/, satisfying the file requirement, while EXPOSE 8080 documents the port the container listens on at runtime. Both instructions match the stem's constraints precisely, unlike ADD, which also handles remote URLs and archives unnecessarily here.
- ✗
ADD config.txt /app/ and WORKDIR 8080
Why it's wrong here
WORKDIR sets the working directory for subsequent instructions; passing 8080 creates a directory named 8080 rather than publishing a port. EXPOSE declares the listening port. WORKDIR is tempting because it legitimately configures where commands execute, which is its real role.
- ✗
ADD config.txt /app/ and RUN expose 8080
Why it's wrong here
RUN executes a shell command during the build; it cannot declare a listening port, so 8080 stays unexposed. EXPOSE is the dedicated instruction for documenting a container port. RUN is tempting because it genuinely installs packages or runs build steps, which is its actual purpose.
- ✗
COPY config.txt /app/ and CMD 8080
Why it's wrong here
CMD sets the container's default startup command; it cannot declare a listening port. EXPOSE 8080 is the instruction that documents the port. CMD tempts because it is a valid Dockerfile instruction, but it belongs with ENTRYPOINT for runtime commands, not port declaration.
Go deeper
Related to this question
About these practice questions
Courseiva writes every XK0-006 question from scratch — 781 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or 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 XK0-006 practice question is part of Courseiva's free CompTIA 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 XK0-006 exam.