Docker basics and Linux
- Ashish Vashisht
- Apr 13
- 4 min read
In today’s software development landscape, understanding containerization is crucial. One of the most popular tools for managing containers is Docker. If you’re starting your journey in software development or IT infrastructure, knowing the basics of Docker and how to deploy it on Linux will enhance your ability to create, deploy, and manage applications efficiently.
In this blog post, we will explore the essentials of Docker, its benefits, and a step-by-step guide on how to deploy it on a Linux operating system.
What is Docker?
Docker is an open-source platform that simplifies the deployment, scaling, and management of applications in containers. Containers are lightweight, portable units that bundle an application and its dependencies, ensuring that it runs consistently across various environments.
For instance, an application running in a Docker container behaves the same way whether it's on your local machine or in a cloud environment. This consistency can reduce the time and frustration often spent troubleshooting environment-related issues.
Benefits of Using Docker
Docker offers several significant advantages, making it a preferred choice among developers:
Portability
Docker containers can run on any system with the Docker runtime. For example, a container you build on your laptop can be deployed on a server in the cloud with minimal adjustments. This portability facilitates smooth transitions between development, testing, and production environments.
Resource Efficiency
Containers are more resource-efficient than traditional virtual machines because they share the host OS kernel. As a result, you can run multiple containers on a single machine—up to 10-20 times more than virtual machines—without experiencing a noticeable performance hit.
Isolation
Each Docker container runs in its own isolated environment. This means that if one application crashes, it will not impact others running on the same machine. Enhanced isolation also contributes to security, as applications are compartmentalized.
Setting Up Docker on Linux
Now that you know what Docker is and its benefits, let's walk through the steps to set it up on a Linux system.
Prerequisites
Before installing Docker, ensure that you have a 64-bit version of Linux and the ability to run commands as a superuser. You can check your system's architecture by running the command:
```bash
uname -m
```
Installing Docker
Open your terminal and follow these straightforward steps:
Update Your Package Index
Ensure you have the latest package index by running:
```bash
sudo apt-get update
```
Install Required Packages
Install dependencies to enable `apt` to manage packages over HTTPS:
```bash
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
```
Add Docker’s Official GPG Key
Add the official GPG key so APT can verify the packages:
```bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
```
Set Up the Stable Repository
Add the Docker repository to your APT sources:
```bash
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
```
Install Docker Community Edition
Update the package index again and install Docker:
```bash
sudo apt-get update
sudo apt-get install docker-ce
```
Starting Docker Service
After installation, start the Docker service with:
```bash
sudo systemctl start docker
```
To verify that Docker is running smoothly, check its status:
```bash
sudo systemctl status docker
```
Using Docker
To effectively use Docker, familiarize yourself with some essential commands:
Checking Docker Version
To check which version of Docker is installed, run:
```bash
docker --version
```
Running Your First Container
With Docker up and running, try executing a basic command to run a containerized version of Ubuntu:
```bash
docker run -it ubuntu bash
```
This command pulls the Ubuntu image from Docker Hub (if not already downloaded) and opens a terminal within the container.
Managing Docker Containers
Managing containers is simple with a handful of commands:
List Running Containers:
```bash
docker ps
```
List All Containers (including stopped ones):
```bash
docker ps -a
```
Stop a Container:
```bash
docker stop [container_id]
```
Remove a Container:
```bash
docker rm [container_id]
```
Building Docker Images
While running containers is important, building custom Docker images lets you fully control your application environment.
Dockerfile
Creating a Docker image involves writing a `Dockerfile`, a text document that contains instructions for building your image.
Here’s a simple example of a Dockerfile for a Node.js application:
```dockerfile
Use an official Node.js runtime as a parent image
FROM node:14
Set the working directory
WORKDIR /usr/src/app
Copy package.json and package-lock.json
COPY package*.json ./
Install app dependencies
RUN npm install
Copy the current directory contents
COPY . .
Make the app available on port 8080
EXPOSE 8080
Define the command to run the app
CMD [ "node", "app.js" ]
```
Building Your Image
Navigate to the directory containing your Dockerfile and build the image with:
```bash
docker build -t my-node-app .
```
This command generates a Docker image named `my-node-app`.
Running Your Image
Run your application in a container using:
```bash
docker run -p 8080:8080 my-node-app
```
This command maps port 8080 of the container to port 8080 on your host machine, allowing you to access the application easily.
Wrapping Up
Mastering Docker brings new opportunities for developers and system administrators. Its portability, resource efficiency, and isolated environments transform how applications are built and deployed. With this guide, you learned how to set up Docker on a Linux system, run containers, and create your own images.
Continue exploring Docker, practice with real-world applications, and benefit from its capabilities in your development workflow.

With Docker in your toolkit, you'll navigate application deployment on Linux more smoothly and efficiently. Whether you're a seasoned developer or just beginning, Docker equips you with the tools to succeed in today’s fast-paced tech environment. So dive in, practice with Docker, and watch your productivity soar!
Комментарии