[Docker] 도커 명령어 사용법

Posted by nkjok
2025. 2. 17. 17:29 낙서장[1]/4. Docker
반응형

Docker는 애플리케이션을 컨테이너로 패키징하고 배포하는 데 사용되는 도구입니다. 여기서는 Docker의 다양한 명령어와 그 사용 방법에 대해 설명합니다.

기본 명령어

  • docker --help
    • 도움말을 표시합니다.
  • docker version
    • Docker 버전 정보를 표시합니다.
  • docker info
    • CPU 정보 등 Docker 환경에 대한 자세한 정보를 표시합니다.

이미지 검색 및 설치

이미지 검색 종류 1
이미지 검색 종류 2

  • docker search [OPTIONS] IMAGE [CONTAINER…]
    • Docker Hub에서 이미지를 검색합니다.
    • 예시:
      docker search nginx
      docker search --filter is-official=true mysql
      docker search --format "{{.Name}} :{{.StarCount}}" mysql
      
  • docker pull [OPTIONS] NAME[:TAG|@DIGEST]
    • Docker 이미지를 다운로드합니다.
    • 예시:
      docker pull nginx:1.26.3
      
  • docker images
    • 현재 로컬에 저장된 이미지 목록과 ID를 확인합니다.

컨테이너 관리

  • docker create -it --name nginx-server nginx:1.26.3
    • 새로운 컨테이너를 생성합니다.
  • docker ps -a
    • 모든 컨테이너 목록을 표시합니다.
  • watch -n 1 ps -a
    • 1초 간격으로 컨테이너 상태를 모니터링합니다.
  • docker stop [CONTAINER]
    • 지정된 컨테이너를 중지합니다.
    • 예시: docker stop nginx-server
  • docker restart [CONTAINER]
    • 지정된 컨테이너를 재시작합니다.
    • 예시: docker restart nginx-server
  • docker exec -it [CONTAINER] [COMMAND]
    • 실행 중인 컨테이너 내에서 명령어를 실행합니다.
    • 예시: docker exec -it nginx-server ls -al
  • docker exec -it [CONTAINER] /bin/bash
    • 실행 중인 컨테이너 내의 bash 셸로 들어갑니다.
    • 예시: docker exec -it nginx-server /bin/bash
  • netstat -tulpn | grep nginx
    • netstat 명령어를 사용하여 Nginx 포트를 확인합니다.
  • echo '<h1>Welcome, nginx</h1>' | tee /usr/share/nginx/html/index.html
    • Nginx 웹 페이지에 내용을 추가합니다.
  • curl http://localhost
    • 로컬호스트에서 웹 페이지를 확인합니다.
  • docker rm [CONTAINER]
    • 지정된 컨테이너를 삭제합니다.
    • 예시: docker rm 97d915845812

포트 매핑 및 컨테이너 상태 확인

  • docker create -p 80:80 --name nginx-server nginx:1.26.3
    • 포트 매핑을 통해 컨테이너를 생성합니다.
  • curl http://localhost
    • 로컬호스트에서 웹 페이지를 확인합니다.
  • docker exec -it [CONTAINER] /bin/bash
    • 실행 중인 컨테이너 내의 bash 셸로 들어갑니다.
    • 예시: docker exec -it nginx-server /bin/bash

컨테이너 샘플 생성

  • hello-world:latest
    • hello-world 컨테이너 생성 예시: 
      docker pull hello-world
      docker create --name hello-world hello-world:latest
      docker restart hello-world
      docker rm 97d915845812

이미지 및 컨테이너 정리

  • docker rm $(docker ps --filter status=exited -q)
    • 중지된 컨테이너를 제거합니다.
  • docker rm -f $(docker ps -aq)
    • 모든 컨테이너를 강제로 제거합니다.
  • dockerrm
    • 별칭을 사용하여 모든 컨테이너를 종료 및 제거:
      vi .bashrc
      alias dockerrm='docker rm -f $(docker ps -aq)'
      source .bashrc
      
  • docker stop [CONTAINER]
    • 컨테이너를 중지합니다.
    • 예시: docker stop nginx; docker stop hello
  • docker rmi [IMAGE_ID]
    • 이미지를 삭제합니다. (이미지를 삭제하려면 먼저 컨테이너를 중지해야 합니다.)
    • 예시: docker rmi fe94eb5f0c9c 74cc54e27dc4

컨테이너 생성/시작
컨테이너 삭제

 

컨테이너 중지
이미지 삭제

 

반응형