화. 8월 12th, 2025

D: 🚀 Docker는 현대 개발과 배포에서 필수적인 도구입니다! 하지만 수많은 명령어와 옵션 때문에 처음 사용할 때는 헷갈리기 마련이죠. 😵‍💫 이번 포스팅에서는 실무에서 자주 사용하는 Docker 명령어와 핵심 옵션을 정리해보겠습니다.


🔹 1. 기본 컨테이너 관리 명령어

1.1. 컨테이너 실행 & 관리

# 이미지 다운로드 (Pull)  
docker pull [IMAGE_NAME]:[TAG]  

# 컨테이너 실행 (Run)  
docker run [OPTIONS] [IMAGE]  

💡 주요 옵션:

  • -d: 백그라운드 실행 (--detach)
  • -p [HOST_PORT]:[CONTAINER_PORT]: 포트 매핑 (e.g., -p 8080:80)
  • --name [NAME]: 컨테이너 이름 지정
  • -v [HOST_DIR]:[CONTAINER_DIR]: 볼륨 마운트
  • -e [ENV_VAR]=[VALUE]: 환경 변수 설정

예시:

# Nginx를 백그라운드에서 실행 + 8080 포트로 노출  
docker run -d -p 8080:80 --name my-nginx nginx  

1.2. 실행 중인 컨테이너 확인 & 제어

# 실행 중인 컨테이너 목록 확인  
docker ps  

# 모든 컨테이너 확인 (종료된 것 포함)  
docker ps -a  

# 컨테이너 중지  
docker stop [CONTAINER_ID or NAME]  

# 컨테이너 강제 종료  
docker kill [CONTAINER_ID or NAME]  

# 컨테이너 재시작  
docker restart [CONTAINER_ID or NAME]  

# 컨테이너 로그 확인  
docker logs [CONTAINER_ID or NAME]  

# 컨테이너 내부 쉘 접속  
docker exec -it [CONTAINER_ID] /bin/bash  

🔹 2. 이미지 관리 명령어

2.1. 이미지 조회 & 삭제

# 로컬 이미지 목록 확인  
docker images  

# 이미지 삭제  
docker rmi [IMAGE_ID]  

# 사용하지 않는 이미지 일괄 삭제  
docker image prune  

2.2. Dockerfile로 이미지 빌드

# 현재 디렉토리의 Dockerfile로 이미지 빌드  
docker build -t [IMAGE_NAME]:[TAG] .  

# 특정 Dockerfile 지정  
docker build -f [DOCKERFILE_PATH] -t [IMAGE_NAME]:[TAG] .  

예시:

# my-app 이미지 빌드 (태그: v1.0)  
docker build -t my-app:v1.0 .  

🔹 3. 네트워크 & 볼륨 관리

3.1. 네트워크 관리

# 네트워크 목록 확인  
docker network ls  

# 네트워크 생성  
docker network create [NETWORK_NAME]  

# 특정 네트워크로 컨테이너 실행  
docker run --network [NETWORK_NAME] [IMAGE]  

3.2. 볼륨 관리

# 볼륨 목록 확인  
docker volume ls  

# 볼륨 생성  
docker volume create [VOLUME_NAME]  

# 볼륨 마운트하여 컨테이너 실행  
docker run -v [VOLUME_NAME]:[CONTAINER_PATH] [IMAGE]  

예시:

# MySQL 데이터 볼륨 마운트  
docker run -d -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 mysql  

🔹 4. Docker Compose로 멀티 컨테이너 관리

docker-compose.yml 예시:

version: '3'  
services:  
  web:  
    image: nginx  
    ports:  
      - "8080:80"  
  db:  
    image: mysql  
    environment:  
      MYSQL_ROOT_PASSWORD: 1234  
    volumes:  
      - mysql_data:/var/lib/mysql  

volumes:  
  mysql_data:  

주요 명령어:

# 서비스 시작 (백그라운드)  
docker-compose up -d  

# 서비스 중지  
docker-compose down  

# 로그 확인  
docker-compose logs  

🔹 5. 실무 TIP & 문제 해결

도커 디스크 정리

# 사용하지 않는 컨테이너, 이미지, 네트워크, 볼륨 일괄 삭제  
docker system prune -a  

컨테이너 CPU/Memory 제한

# CPU 50%, Memory 512MB 제한  
docker run --cpus=0.5 -m 512m [IMAGE]  

도커 로그 확인 (실시간)

docker logs -f [CONTAINER_ID]  

도커 컨테이너 IP 확인

docker inspect [CONTAINER_ID] | grep IPAddress  

🎯 마무리

이번 포스팅에서는 실무에서 자주 사용하는 Docker 명령어와 핵심 옵션을 정리해봤습니다. 🎓
처음에는 외우기 어렵지만, 자주 사용하다 보면 자연스럽게 익숙해질 거예요! 😊

도움이 되셨다면 공유 부탁드립니다! 🚀
더 궁금한 점은 댓글로 남겨주세요. 👇

#Docker #DevOps #컨테이너 #명령어 #치트시트

답글 남기기

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