콘텐츠로 이동

Docker 명령어

명령어설명
docker --versionDocker 버전 표시
docker info시스템 전체 정보 표시
docker helpDocker 명령어에 대한 도움말 표시
docker images모든 이미지 나열하기
docker ps실행 중인 컨테이너 목록
docker ps -a모든 컨테이너 나열 (실행 중 및 중지됨)
docker pull <image>레지스트리에서 이미지 가져오기
docker run <image>이미지로부터 컨테이너 실행하기
docker stop <container>실행 중인 컨테이너 중지
docker start <container>중지된 컨테이너 시작하기
docker restart <container>컨테이너 재시작
docker rm <container>컨테이너 제거
docker rmi <image>이미지 제거하기
명령어설명
docker run -d <image>디태치드 모드로 컨테이너 실행
docker run -it <image>컨테이너를 대화형으로 실행
docker run -p 8080:80 <image>포트 8080을 컨테이너 포트 80으로 매핑
docker run -v /host:/container <image>볼륨 마운트
docker run --name <name> <image>사용자 지정 이름으로 컨테이너 실행
docker exec -it <container> bash실행 중인 컨테이너에서 bash 실행
docker logs <container>컨테이너 로그 보기
docker logs -f <container>컨테이너 로그 따라가기
docker inspect <container>컨테이너 세부 정보 검사
docker stats컨테이너 리소스 사용량 표시
docker top <container>컨테이너에서 실행 중인 프로세스 표시
명령어설명
docker build -t <name> .Dockerfile에서 이미지 빌드하기
docker build -t <name>:<tag> .태그로 이미지 빌드하기
docker tag <image> <new-name>이미지에 태그 달기
docker push <image>레지스트리에 이미지 푸시
docker save <image> > file.tartar 파일로 이미지 저장
docker load < file.tartar 파일에서 이미지 로드
docker history <image>이미지 기록 표시
docker search <term>레지스트리에서 이미지 검색
명령어설명
docker-compose upcompose 파일에 정의된 서비스 시작
docker-compose up -d분리된 모드로 서비스 시작
docker-compose down컨테이너 중지 및 제거
docker-compose build서비스 빌드 또는 재빌드
docker-compose logs모든 서비스의 로그 보기
docker-compose ps컨테이너 나열
docker-compose exec <service> bash서비스에서 명령 실행
docker-compose pull최신 이미지 가져오기
docker-compose restart서비스 재시작
명령어설명
docker network ls네트워크 목록
docker network create <name>네트워크 생성
docker network rm <name>네트워크 제거
docker network inspect <name>네트워크 세부 정보 검사
docker run --network <name> <image>특정 네트워크에서 컨테이너 실행
명령어설명
docker volume ls볼륨 목록
docker volume create <name>볼륨 생성하기
docker volume rm <name>볼륨 제거
docker volume inspect <name>볼륨 세부 정보 검사
docker volume prune사용하지 않는 볼륨 제거
# Build and run application
docker build -t myapp .
docker run -p 3000:3000 myapp

# Development with volume mounting
docker run -p 3000:3000 -v $(pwd):/app myapp

# Using Docker Compose for development
docker-compose up --build
```## 볼륨 관리
```bash
# Build production image
docker build -t myapp:prod .

# Tag for registry
docker tag myapp:prod registry.com/myapp:latest

# Push to registry
docker push registry.com/myapp:latest

# Deploy on production server
docker pull registry.com/myapp:latest
docker run -d -p 80:3000 --name myapp-prod registry.com/myapp:latest
```## 일반적인 워크플로우

### 개발 워크플로우
```bash
# Check container logs
docker logs -f container-name

# Execute shell in running container
docker exec -it container-name bash

# Inspect container configuration
docker inspect container-name

# Check resource usage
docker stats container-name

프로덕션 배포

latest

컨테이너 디버깅

.dockerignore

모범 사례

Dockerfile 최적화

  • 이미지 크기를 줄이기 위해 멀티 스테이지 빌드 사용
  • 지시어를 적절히 정렬하여 빌드 캐시 활용
  • 특정 기본 이미지 태그 사용, 피하기