화. 8월 12th, 2025

D: 🚀 Welcome to the ultimate Docker command guide! Whether you’re a beginner or an experienced developer, mastering Docker commands is essential for efficient container management. This guide dives deep into images, containers, and networking—helping you streamline your workflow with practical examples and best practices.


1. Docker Basics: Getting Started

What is Docker?

Docker is a containerization platform that allows you to package applications and dependencies into lightweight, portable containers.

🔹 Key Benefits:
Isolation – Apps run independently
Portability – Works on any OS with Docker
Efficiency – Lightweight compared to VMs

Installation & Setup

Before diving into commands, ensure Docker is installed:

# Check Docker version
docker --version

# Verify Docker is running
docker info

2. Docker Image Commands: Building & Managing

📦 Images are blueprints for containers. Here’s how to manage them:

🔹 Pulling an Image

Download pre-built images from Docker Hub:

docker pull ubuntu:latest

🔹 Listing Images

View all downloaded images:

docker images
# OR
docker image ls

🔹 Building a Custom Image

Create your own image using a Dockerfile:

# Sample Dockerfile
FROM alpine:latest
RUN apk add --no-cache python3
CMD ["python3", "--version"]

Build it:

docker build -t my-python-app .

🔹 Deleting Images

Remove unused images to free up space:

docker rmi 
<image_id>

3. Docker Container Commands: Running & Managing

📦 Containers are running instances of images.

🔹 Running a Container

Start a container from an image:

docker run -d --name my-nginx nginx
  • -d → Run in detached mode (background)
  • --name → Assign a custom name

🔹 Listing Containers

Check running & stopped containers:

docker ps       # Active containers
docker ps -a    # All containers

🔹 Stopping & Removing Containers

docker stop 
<container_id>    # Stop gracefully
docker rm 
<container_id>      # Remove permanently

🔹 Executing Commands Inside a Container

Access a shell inside a running container:

docker exec -it my-nginx /bin/bash
  • -it → Interactive terminal

4. Docker Networking: Connecting Containers

🌐 Networking allows containers to communicate.

🔹 Default Networks

Docker provides 3 default networks:

  • bridge (Default for containers)
  • host (Shares host network)
  • none (No networking)

List networks:

docker network ls

🔹 Creating a Custom Network

docker network create my-network

🔹 Running Containers in a Network

docker run -d --name web --network my-network nginx
docker run -d --name db --network my-network mysql

Now, web and db can communicate via my-network!

🔹 Linking Containers (Legacy Method)

docker run -d --name web --link db nginx

⚠️ Deprecated in favor of user-defined networks.


5. Advanced Docker Commands

🔹 Docker Volumes (Persistent Storage)

docker volume create my-volume
docker run -d -v my-volume:/data nginx

🔹 Docker Compose (Multi-Container Apps)

Define services in docker-compose.yml:

version: "3.8"
services:
  web:
    image: nginx
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

Run with:

docker-compose up -d

6. Pro Tips & Best Practices

Use .dockerignore to exclude unnecessary files.
Optimize layers in Dockerfile for faster builds.
Clean up regularly with:

docker system prune -a

Final Thoughts 🎯

Mastering Docker commands boosts productivity and ensures smooth container workflows. Practice these commands, experiment, and soon you’ll be a Docker pro! 🚀

💬 Got questions? Drop them in the comments! Happy Dockering! 🐳

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다