Fatskills
Practice. Master. Repeat.
Study Guide: Docker Docker Docker in Production Running Docker in CICD GitHub Actions GitLab CI Jenkins CircleCI
Source: https://www.fatskills.com/kubernetes/chapter/docker-docker-docker-in-production-running-docker-in-cicd-github-actions-gitlab-ci-jenkins-circleci

Docker Docker Docker in Production Running Docker in CICD GitHub Actions GitLab CI Jenkins CircleCI

By Fatskills Exam Guides Team — the exam nerds behind 28,500+ quizzes and 2.1M practice questions across 500+ global exams.

⏱️ ~11 min read

1. Core Command / Concept

Run a Docker container in a CI/CD pipeline using GitHub Actions. docker run

2. Step-by-Step (numbered)

  1. Check if Docker is installed and running: docker --version
  2. Create a new directory for your project: mkdir my-docker-project
  3. Navigate into the project directory: cd my-docker-project
  4. Create a new file named Dockerfile: touch Dockerfile
  5. Open the Dockerfile in your text editor and add the following line: FROM python:3.9-slim
  6. Build the Docker image: docker build -t my-docker-image .
  7. Run the Docker container: docker run -it my-docker-image
  8. ⚠️ Stop the container: docker stop <container_id>

3. Real Commands with Examples


Example 1: Run a Docker container with a specific port

Purpose: Expose port 80 from the container to the host machine Command: docker run -p 8080:80 my-docker-image Flags: -p maps port 8080 on the host to port 80 in the container

Example 2: Run a Docker container with environment variables

Purpose: Set environment variables for the container Command: docker run -e VARIABLE=value my-docker-image Flags: -e sets an environment variable for the container

Example 3: Run a Docker container with a volume

Purpose: Mount a host directory as a volume in the container Command: docker run -v /host/dir:/container/dir my-docker-image Flags: -v mounts a host directory as a volume in the container

4. Common Errors (3-5)


Error 1: Docker container not found

Error message: docker: Error response from daemon: Container <container_id> not found. Why it happens: The container was deleted or never existed.
One-line fix: docker ps -a to list all containers

Error 2: Docker image not found

Error message: docker: Error response from daemon: No such image: my-docker-image. Why it happens: The image was deleted or never existed.
One-line fix: docker images to list all images

Error 3: Docker volume not found

Error message: docker: Error response from daemon: Volume <volume_name> not found. Why it happens: The volume was deleted or never existed.
One-line fix: docker volume ls to list all volumes

5. Quick Checks (3 scenarios)


Scenario 1: Check if a Docker container is running

Situation: You want to check if a container is running Command: docker ps What a correct response looks like: A list of running containers

Scenario 2: Check if a Docker image is available

Situation: You want to check if an image is available Command: docker images What a correct response looks like: A list of available images

Scenario 3: Check if a Docker volume is mounted

Situation: You want to check if a volume is mounted Command: docker volume ls What a correct response looks like: A list of mounted volumes

6. Last-Minute Reference

  • docker run flags: -it for interactive mode, -p for port mapping, -e for environment variables, -v for volumes
  • Docker image names: python:3.9-slim for a Python 3.9 image
  • Docker container names: my-docker-image for a custom image name
  • Docker volume names: my-docker-volume for a custom volume name
  • Docker port mapping: 8080:80 for mapping port 8080 on the host to port 80 in the container
  • Docker environment variables: VARIABLE=value for setting environment variables
  • Docker volumes: /host/dir:/container/dir for mounting a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host directory as a volume in the container
  • Docker container IDs: docker ps -a to list all container IDs
  • Docker image IDs: docker images to list all image IDs
  • Docker volume IDs: docker volume ls to list all volume IDs
  • Docker container names: docker ps to list all container names
  • Docker image names: docker images to list all image names
  • Docker volume names: docker volume ls to list all volume names
  • Docker port mapping: docker run -p 8080:80 my-docker-image to map port 8080 on the host to port 80 in the container
  • Docker environment variables: docker run -e VARIABLE=value my-docker-image to set environment variables
  • Docker volumes: docker run -v /host/dir:/container/dir my-docker-image to mount a host


ADVERTISEMENT