Docker命令速查

Docker和Docker Compose命令参考。

90개 명령어

컨테이너 관리

命令说明
docker run <image>
이미지로 컨테이너 실행
docker run -d <image>
백그라운드에서 실행 (detached)
docker run -it <image> /bin/bash
인터랙티브 셸로 실행
docker run -p 8080:80 <image>
포트 매핑하여 실행 (호스트:컨테이너)
docker run -v /host:/container <image>
볼륨 마운트하여 실행
docker run --name my-app <image>
이름을 지정하여 실행
docker run --rm <image>
종료 시 자동 삭제
docker run -e KEY=VALUE <image>
환경 변수 설정하여 실행
docker run --env-file .env <image>
.env 파일로 환경 변수 전달
docker run --restart unless-stopped <image>
자동 재시작 정책 설정
docker ps
실행 중인 컨테이너 목록
docker ps -a
모든 컨테이너 목록 (정지 포함)
docker stop <container>
컨테이너 정지
docker start <container>
정지된 컨테이너 시작
docker restart <container>
컨테이너 재시작
docker rm <container>
컨테이너 삭제
docker rm -f <container>
실행 중인 컨테이너 강제 삭제
docker exec -it <container> /bin/bash
실행 중인 컨테이너에 셸 접속
docker logs <container>
컨테이너 로그 확인
docker logs -f --tail 100 <container>
최근 100줄부터 실시간 로그
docker inspect <container>
컨테이너 상세 정보 (JSON)
docker container prune
정지된 모든 컨테이너 삭제

이미지 관리

命令说明
docker images
로컬 이미지 목록
docker pull <image>
레지스트리에서 이미지 다운로드
docker pull <image>:<tag>
특정 태그의 이미지 다운로드
docker build -t <name> .
Dockerfile로 이미지 빌드
docker build -t <name>:<tag> .
태그 지정하여 빌드
docker build -f Dockerfile.prod .
커스텀 Dockerfile 지정 빌드
docker build --no-cache -t <name> .
캐시 없이 빌드
docker tag <image> <new-name>:<tag>
이미지 태그 변경
docker push <image>
레지스트리에 이미지 푸시
docker rmi <image>
이미지 삭제
docker image prune
사용하지 않는 이미지 삭제
docker image prune -a
참조되지 않는 모든 이미지 삭제
docker history <image>
이미지 레이어 이력
docker save -o backup.tar <image>
이미지를 tar 파일로 저장
docker load -i backup.tar
tar 파일에서 이미지 복원

볼륨 & 네트워크

命令说明
docker volume ls
볼륨 목록
docker volume create <name>
볼륨 생성
docker volume inspect <name>
볼륨 상세 정보
docker volume rm <name>
볼륨 삭제
docker volume prune
사용하지 않는 볼륨 삭제
docker network ls
네트워크 목록
docker network create <name>
네트워크 생성
docker network create --driver bridge <name>
브리지 네트워크 생성
docker network connect <net> <container>
컨테이너를 네트워크에 연결
docker network disconnect <net> <container>
네트워크 연결 해제
docker network inspect <name>
네트워크 상세 정보
docker network rm <name>
네트워크 삭제

시스템 & 정리

命令说明
docker system df
디스크 사용량 확인
docker system prune
사용하지 않는 리소스 정리
docker system prune -a --volumes
모든 미사용 리소스 + 볼륨 정리
docker stats
컨테이너 리소스 사용량 실시간 모니터링
docker top <container>
컨테이너 프로세스 확인
docker cp <container>:/path /host/path
컨테이너에서 호스트로 파일 복사
docker cp /host/path <container>:/path
호스트에서 컨테이너로 파일 복사
docker info
Docker 시스템 정보
docker version
Docker 버전 확인

Docker Compose

命令说明
docker compose up
서비스 시작 (포그라운드)
docker compose up -d
백그라운드에서 서비스 시작
docker compose up --build
이미지 빌드 후 서비스 시작
docker compose up -d --scale web=3
서비스 인스턴스 3개로 스케일링
docker compose down
서비스 정지 및 컨테이너/네트워크 삭제
docker compose down -v
볼륨 포함 정지 및 삭제
docker compose down --rmi all
이미지까지 포함 삭제
docker compose ps
서비스 상태 목록
docker compose logs
모든 서비스 로그 확인
docker compose logs -f <service>
특정 서비스 실시간 로그
docker compose exec <service> bash
서비스 컨테이너에 셸 접속
docker compose run <service> <cmd>
일회성 명령어 실행
docker compose build
서비스 이미지 빌드
docker compose pull
서비스 이미지 다운로드
docker compose restart <service>
특정 서비스 재시작
docker compose config
Compose 파일 유효성 확인 및 렌더링
docker compose top
서비스 프로세스 확인

Dockerfile 주요 명령어

命令说明
FROM <image>
베이스 이미지 지정
FROM <image> AS builder
멀티 스테이지 빌드 스테이지 이름
WORKDIR /app
작업 디렉토리 설정
COPY . .
파일 복사 (빌드 컨텍스트 → 이미지)
COPY --from=builder /app/dist .
다른 스테이지에서 파일 복사
ADD <src> <dest>
파일 복사 (URL, tar 자동 해제 지원)
RUN npm install
빌드 시 명령어 실행 (새 레이어 생성)
CMD ["node", "index.js"]
컨테이너 시작 기본 명령어
ENTRYPOINT ["node"]
고정 실행 명령어 (CMD와 조합)
EXPOSE 3000
포트 문서화 (실제 포트 열기 아님)
ENV KEY=VALUE
환경 변수 설정 (런타임 지속)
ARG VERSION=latest
빌드 인자 정의 (빌드 시에만 사용)
VOLUME /data
볼륨 마운트 포인트 정의
USER node
이후 명령어의 실행 사용자 지정
HEALTHCHECK CMD curl -f http://localhost/
컨테이너 헬스체크 설정

常见问题

什么是Docker?
Docker是一个用于在容器中开发、交付和运行应用程序的平台。

其他工具