본문 바로가기
Docker

docker의 기본 명령어 (with 고급 명령어)

by 개발자K씨 2023. 12. 19.

도커(Docker)를 사용할 때 알아두면 유용한 주요 명령어들을 정리하고, 각각의 사용 예시를 알아보겠습니다.

 

도커 커맨드 썸네일

 

기본 명령어

이 명령어들은 도커의 기본적인 작업을 수행하는 데 필수적입니다.

컨테이너 이름이 필요한 부분에는 컨테이너 ID를 대신 사용해도 됩니다.

컨테이너 ID를 사용할 때는 전체 ID를 입력할 필요 없이 다른 ID와 구분할 수 있는 자리수까지 입력하면 됩니다.

1. docker pull

  • 설명: Docker Hub 또는 다른 레지스트리에서 이미지를 로컬 시스템으로 다운로드합니다.
  • 사용 예시: docker pull nginx
    • 이 명령은 Docker Hub에서 최신 버전의 Nginx 이미지를 다운로드합니다.

2. docker run

  • 설명: 새 컨테이너를 생성하고 실행합니다. 이 명령은 이미지가 로컬에 없으면 자동으로 이미지를 다운로드합니다.
  • 사용 예시: docker run -d --name my-nginx -p 8080:80 nginx
    • -d: 백그라운드에서 컨테이너를 실행합니다.
    • --name my-nginx: 컨테이너에 my-nginx라는 이름을 지정합니다.
    • -p 8080:80: 호스트의 8080 포트를 컨테이너의 80 포트에 연결합니다.
    • nginx: 사용할 이미지 이름입니다.

3. docker ps

  • 설명: 실행 중인 컨테이너의 목록을 표시합니다.
  • 사용 예시: docker ps
    • 실행 중인 모든 컨테이너의 정보를 보여줍니다.
    • docker ps -a: 중지된 컨테이너를 포함한 모든 컨테이너를 표시합니다.

4. docker stop

  • 설명: 실행 중인 컨테이너를 중지합니다.
  • 사용 예시: docker stop my-nginx
    • my-nginx라는 이름의 컨테이너를 중지합니다.

5. docker rm

  • 설명: 컨테이너를 삭제합니다. 컨테이너를 삭제하기 전에 컨테이너가 중지되어 있어야 합니다.
  • 사용 예시: docker rm my-nginx
    • my-nginx라는 이름의 컨테이너를 삭제합니다.

6. docker images

  • 설명: 로컬 시스템에 있는 도커 이미지 목록을 표시합니다.
  • 사용 예시: docker images
    • 로컬에 저장된 모든 이미지의 목록을 보여줍니다.

7. docker rmi

  • 설명: 도커 이미지를 삭제합니다.
  • 사용 예시: docker rmi nginx
    • nginx 이미지를 로컬 시스템에서 삭제합니다.

8. docker exec

  • 설명: 실행 중인 컨테이너에 명령을 실행합니다.
  • 사용 예시: docker exec -it my-nginx /bin/bash
    • my-nginx 컨테이너에서 bash 쉘을 실행합니다. -it 옵션은 인터랙티브 모드를 활성화합니다.

9. docker logs

  • 설명: 컨테이너의 로그를 표시합니다.
  • 사용 예시: docker logs my-nginx
    • my-nginx 컨테이너의 로그를 출력합니다.

10. docker build

  • 설명: Dockerfile로부터 이미지를 빌드합니다.
  • 사용 예시: docker build -t my-custom-nginx .
    • 현재 디렉토리의 Dockerfile을 사용하여 my-custom-nginx라는 태그의 이미지를 빌드합니다.

 

고급 명령어

11. docker volume create

  • 설명: 새 볼륨을 생성합니다. 볼륨은 컨테이너 간에 데이터를 공유하거나 데이터를 영속적으로 저장하는 데 사용됩니다.
  • 사용 예시: docker volume create my-volume
    • my-volume이라는 이름의 새로운 볼륨을 생성합니다.

12. docker volume ls

  • 설명: 생성된 모든 볼륨의 목록을 표시합니다.
  • 사용 예시: docker volume ls
    • 시스템에 존재하는 모든 볼륨을 나열합니다.

13. docker volume rm

  • 설명: 지정된 볼륨을 삭제합니다.
  • 사용 예시: docker volume rm my-volume
    • my-volume이라는 볼륨을 삭제합니다.

14. docker network create

  • 설명: 사용자 정의 네트워크를 생성합니다. 이를 통해 컨테이너 간의 네트워킹을 구성할 수 있습니다.
  • 사용 예시: docker network create my-network
    • my-network라는 이름의 새로운 네트워크를 생성합니다.

15. docker network ls

  • 설명: 시스템에 존재하는 모든 네트워크를 표시합니다.
  • 사용 예시: docker network ls
    • 생성된 모든 네트워크를 나열합니다.

16. docker network rm

  • 설명: 지정된 네트워크를 삭제합니다.
  • 사용 예시: docker network rm my-network
    • my-network라는 네트워크를 삭제합니다.

17. docker attach

  • 설명: 실행 중인 컨테이너의 표준 입력, 출력, 에러 스트림에 연결합니다.
  • 사용 예시: docker attach my-nginx
    • my-nginx 컨테이너에 연결하여 표준 출력을 볼 수 있습니다.

18. docker cp

  • 설명: 호스트와 컨테이너 간에 파일 또는 폴더를 복사합니다.
  • 사용 예시: docker cp my-nginx:/etc/nginx/conf.d .
    • my-nginx 컨테이너의 /var/www/html 디렉토리 내용을 현재 호스트의 작업 디렉토리로 복사합니다.
    • docker cp 컨테이너:폴더 경로 목적지 경로

19. docker history

  • 설명: 특정 이미지의 변경 사항과 레이어 정보를 표시합니다.
  • 사용 예시: docker history nginx
    • nginx 이미지의 빌드 히스토리를 표시합니다.

20. docker inspect

  • 설명: 컨테이너나 이미지에 대한 상세 정보를 JSON 형식으로 표시합니다.
  • 사용 예시: docker inspect my-nginx
    • my-nginx 컨테이너에 대한 상세 정보를 출력합니다.

'Docker' 카테고리의 다른 글

OS의 기능과 구조  (0) 2023.12.20
Docker의 레이어 기반 아키텍처  (0) 2023.12.19
Docker 개념 및 가상머신(VM)과의 차이점  (0) 2023.12.19