Skip to content

Docker

Docker is an open-source platform that allows you to automate the deployment and management of applications using containerization. Containers provide a lightweight and isolated environment for running applications, ensuring consistency across different systems.

Dockerfile

A Dockerfile is a text file that contains a set of instructions for building a Docker image. An image is a standalone and executable package that includes everything needed to run an application, including the code, runtime, libraries, and dependencies.

Writing a Dockerfile

To create a Docker image, you need to define a Dockerfile. Here's an example of a basic Dockerfile:

docker
# Use an existing base image
FROM base_image

# Set the working directory inside the container
WORKDIR /app

# Copy the application files into the container
COPY . .

# Install dependencies (if any)
RUN command_to_install_dependencies

# Specify the command to run when the container starts
CMD command_to_start_application

Let's break down the different instructions:

  • FROM: This instruction specifies the base image to use for your application. You can use existing images available on Docker Hub or create your own base image.
  • WORKDIR: This instruction sets the working directory inside the container where subsequent instructions will be executed.
  • COPY: This instruction copies the application files from the host machine to the container's file system.
  • RUN: This instruction executes a command during the build process. It is commonly used to install dependencies, configure the environment, or perform any other necessary setup steps.
  • CMD: This instruction specifies the default command to run when a container is started. Only one CMD instruction can be present in a Dockerfile.

Building an Image

To build a Docker image from a Dockerfile, you need to use the docker build command. Open a terminal or command prompt, navigate to the directory containing the Dockerfile, and run the following command:

bash
docker build -t image_name .

If your dockerfile is in a subfolder and you need access to parent directories in your docker file, you need to navigate to the parent directory and run the following command:

bash
docker build -t image_name --file ./subfolder/Dockerfile .

This will give access to all the parent directories to your dockerfile.

Running a Container

Once you have built an image, you can run a container based on that image using the docker run command. Here's an example:

bash
docker run image_name

Replace image_name with the name of the image you want to run. Docker will create a new container based on the image and execute the command specified in the CMD instruction.

Deployment

See the next section on how to deploy your docker image.

Released under the MIT License.