Bird
Raised Fist0
Dockerdevops~5 mins

RUN instruction for executing commands in Docker - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the RUN instruction do in a Dockerfile?
The RUN instruction executes commands in a new layer on top of the current image and commits the results. It is used to install software or make changes during image build.
Click to reveal answer
beginner
How do you write a RUN instruction to update package lists on a Debian-based image?
RUN apt-get update
Click to reveal answer
intermediate
What is the difference between using RUN with shell form and exec form?
Shell form: RUN command runs in a shell (e.g., /bin/sh -c), allowing shell features like variable expansion. Exec form: RUN ["executable", "param1", "param2"] runs directly without a shell.
Click to reveal answer
intermediate
Why should you combine multiple commands in a single RUN instruction?
Combining commands reduces the number of image layers, making the image smaller and more efficient.
Click to reveal answer
beginner
Example: How to install curl and clean cache in one RUN instruction?
RUN apt-get update && apt-get install -y curl && rm -rf /var/lib/apt/lists/*
Click to reveal answer
What does the RUN instruction do in a Dockerfile?
AExecutes commands during image build and creates a new image layer
BRuns commands when the container starts
CCopies files into the image
DSets environment variables
Which RUN syntax runs commands without a shell?
ARUN apt-get update
BRUN ["apt-get", "update"]
CRUN sh -c "apt-get update"
DRUN bash apt-get update
Why combine multiple commands in one RUN instruction?
ATo make the Dockerfile longer
BTo avoid using shell features
CTo reduce image size by minimizing layers
DTo run commands faster at container start
What happens if you run 'RUN apt-get update' alone in a Dockerfile?
AIt updates packages when container runs
BIt sets environment variables
CIt installs new packages
DIt updates package lists during image build
Which command cleans up apt cache after installing packages?
Arm -rf /var/lib/apt/lists/*
Bapt-get clean
Capt-get update
Dapt-get install -y
Explain how the RUN instruction works in a Dockerfile and why it is important.
Think about when the commands run and how they affect the image.
You got /3 concepts.
    Describe best practices for writing RUN instructions to keep Docker images small.
    Focus on how to optimize image size and layers.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the RUN instruction do in a Dockerfile?
      easy
      A. Executes commands during the image build process
      B. Starts a container from an image
      C. Copies files from host to container
      D. Defines environment variables for the container

      Solution

      1. Step 1: Understand Dockerfile instructions

        The RUN instruction is used to execute commands while building the Docker image.
      2. Step 2: Differentiate from other instructions

        Other instructions like COPY or ENV serve different purposes, not command execution.
      3. Final Answer:

        Executes commands during the image build process -> Option A
      4. Quick Check:

        RUN = execute commands during build [OK]
      Hint: RUN runs commands while building the image [OK]
      Common Mistakes:
      • Confusing RUN with CMD or ENTRYPOINT
      • Thinking RUN starts containers
      • Mixing RUN with COPY or ENV
      2. Which of the following is the correct syntax to install curl using RUN in a Debian-based Docker image?
      easy
      A. RUN apt-get install curl
      B. RUN apt-get update && apt-get install -y curl
      C. RUN install curl
      D. RUN curl install

      Solution

      1. Step 1: Understand package installation in Debian

        Before installing packages, you must update the package list using apt-get update.
      2. Step 2: Use correct flags and chaining

        The -y flag auto-confirms installation, and chaining commands with && ensures update runs before install.
      3. Final Answer:

        RUN apt-get update && apt-get install -y curl -> Option B
      4. Quick Check:

        Update then install with -y flag [OK]
      Hint: Always update before install and use -y flag [OK]
      Common Mistakes:
      • Skipping apt-get update
      • Not using -y to auto-confirm
      • Wrong command order or syntax
      3. Given this Dockerfile snippet:
      FROM ubuntu:latest
      RUN echo "Hello" && echo "World"

      What will be the output when building this Docker image?
      medium
      A. Hello World printed during build
      B. No output shown during build
      C. Error because of missing semicolon
      D. Only 'Hello' printed, 'World' ignored

      Solution

      1. Step 1: Analyze the RUN command chaining

        The command uses && to run two echo commands sequentially during build.
      2. Step 2: Understand Docker build output

        During build, the output of RUN commands is shown in the terminal, so both 'Hello' and 'World' will print.
      3. Final Answer:

        Hello World printed during build -> Option A
      4. Quick Check:

        RUN shows command output during build [OK]
      Hint: RUN output appears during build, && runs commands sequentially [OK]
      Common Mistakes:
      • Thinking RUN output is hidden
      • Confusing && with ;
      • Assuming only first command runs
      4. Identify the error in this Dockerfile RUN instruction:
      RUN apt-get update & apt-get install -y git
      medium
      A. RUN cannot have multiple commands
      B. Missing -y flag for apt-get install
      C. apt-get update should be last command
      D. Using single & instead of && causes syntax error

      Solution

      1. Step 1: Check command chaining syntax

        Single & runs command in background and is invalid in Docker RUN; && is needed to chain commands properly.
      2. Step 2: Confirm correct chaining for sequential execution

        Using && ensures the second command runs only if the first succeeds.
      3. Final Answer:

        Using single & instead of && causes syntax error -> Option D
      4. Quick Check:

        Use && to chain commands in RUN [OK]
      Hint: Use && not & to chain commands in RUN [OK]
      Common Mistakes:
      • Using & instead of &&
      • Ignoring command chaining rules
      • Assuming RUN runs commands in parallel
      5. You want to reduce Docker image layers by combining multiple commands in a single RUN instruction. Which is the best way to do this?
      hard
      A. Use multiple RUN instructions, one per command
      B. Separate commands with semicolons in multiple RUN lines
      C. Chain commands with && inside one RUN instruction
      D. Use CMD instead of RUN for multiple commands

      Solution

      1. Step 1: Understand Docker image layers

        Each RUN instruction creates a new image layer, increasing image size.
      2. Step 2: Combine commands to reduce layers

        Chaining commands with && inside one RUN instruction runs them sequentially in a single layer.
      3. Final Answer:

        Chain commands with && inside one RUN instruction -> Option C
      4. Quick Check:

        Combine commands with && to reduce layers [OK]
      Hint: Chain commands with && in one RUN to reduce layers [OK]
      Common Mistakes:
      • Using multiple RUNs increases layers
      • Using CMD instead of RUN for build steps
      • Separating commands with semicolons without chaining
      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