[Docker] Docker 초보 탈출! 명령어 총 정리

2025. 2. 13. 12:19·Dev/Docker

Docker 초보 탈출! 명령어 총 정리
Docker 초보 탈출! 명령어 총 정리


init

Docker는 컨테이너 기술을 활용해 애플리케이션을 효율적으로 배포, 실행, 관리할 수 있는 강력한 도구입니다. 하지만 처음 접하면 방대한 명령어들 때문에 어디서부터 시작해야 할지 막막할 수 있죠. 그래서 이번 글에서는 Docker를 효과적으로 활용하기 위해 꼭 알아야 할 명령어들을 카테고리별로 정리했습니다.


1. Docker 이미지 관리 (Manage Images)

Docker 이미지는 컨테이너를 실행하기 위한 기반이 됩니다. 이미지를 잘 관리하면 작업 효율을 크게 높일 수 있습니다.

  • `docker image ls`: 현재 시스템에 저장된 Docker 이미지 목록을 확인합니다.
  • `docker image rm `: 필요 없는 이미지를 삭제하여 저장 공간을 절약합니다.
    • ex) docker image rm <이미지ID>
  • `docker build`: Dockerfile을 기반으로 새 이미지를 생성합니다.
    • ex) docker build -t <이미지이름:태그> <경로>
  • `docker commit`: 실행 중인 컨테이너를 기반으로 새로운 이미지를 만듭니다.
    • ex) docker commit <컨테이너ID> <이미지이름:태그>
  • `docker import`: 기존 파일을 가져와 Docker 이미지로 변환합니다.
    • ex) docker import <파일경로>
  • `docker history`: 이미지가 생성된 과정을 확인할 수 있습니다.
    • ex) docker history <이미지ID>

2. Docker 레지스트리 관리 (Registry)

Docker 레지스트리는 이미지를 업로드하거나 다운로드할 수 있는 저장소 역할을 합니다.

  • `docker login`: Docker Hub 또는 개인 레지스트리에 로그인합니다.
  • `docker logout`: 로그인된 계정을 로그아웃합니다.
  • `docker push`: 로컬 이미지를 레지스트리에 업로드합니다.
    • ex) docker push <이미지이름:태그>
  • `docker pull`: 레지스트리에서 이미지를 다운로드합니다.
    • ex) docker pull <이미지이름:태그>
  • `docker search`: 레지스트리에서 이미지를 검색합니다.
    • ex) docker search <키워드>
  • `docker tag`: 이미지에 태그를 추가하여 버전 관리를 쉽게 할 수 있습니다.
    • ex) docker tag <이미지ID> <새로운태그>

3. Docker 정리 작업 (Clean Up)

Docker 환경을 깨끗하게 유지하려면 주기적으로 사용하지 않는 리소스를 정리해야 합니다.

  • `docker rm`: 실행 중이지 않은 컨테이너를 삭제합니다.
    • ex) docker rm <컨테이너ID>
  • `docker rmi`: 더 이상 필요 없는 이미지를 삭제합니다.
    • ex) docker rmi <이미지ID>
  • `docker kill`: 실행 중인 컨테이너를 강제 종료합니다.
    • ex) docker kill <컨테이너ID>
  • `docker prune`: 사용하지 않는 네트워크, 볼륨, 이미지 등을 한 번에 삭제합니다.

4. Docker 볼륨 관리 (Volume)

Docker 볼륨은 컨테이너 간 데이터를 공유하거나 데이터를 영구적으로 저장할 때 사용됩니다.

  • `docker volume create`: 새로운 볼륨을 생성합니다.
    • ex) docker volume create <볼륨이름>
  • `docker volume ls`: 현재 시스템에 생성된 볼륨 목록을 확인합니다.
  • `docker volume rm`: 사용하지 않는 볼륨을 삭제합니다.
    • ex) docker volume rm <볼륨이름>

5. Docker 컨테이너 관리 (Manage Containers)

컨테이너는 Docker의 핵심입니다. 아래 명령어를 통해 컨테이너를 효율적으로 관리할 수 있습니다.

  • `docker run`: 새로운 컨테이너를 실행합니다.
    • ex) docker run <이미지이름>
  • `docker start`: 정지된 컨테이너를 다시 실행합니다.
    • ex) docker start <컨테이너ID>
  • `docker stop`: 실행 중인 컨테이너를 정지합니다.
    • ex) docker stop <컨테이너ID>
  • `docker restart`: 컨테이너를 재시작합니다.
    • ex) docker restart <컨테이너ID>
  • `docker exec`: 실행 중인 컨테이너 내부에서 명령어를 실행합니다.
    • ex) docker exec -it <컨테이너ID> <명령어>
  • `docker ps`: 실행 중인 컨테이너 목록을 확인합니다.
  • `docker logs`: 컨테이너의 로그를 확인합니다.
    • ex) docker logs <컨테이너ID>
  • `docker pause`: 컨테이너를 일시 중지합니다.
    • ex) docker pause <컨테이너ID>
  • `docker wait`: 컨테이너가 종료될 때까지 대기합니다.
    • ex) docker wait <컨테이너ID>
  • `docker export`: 컨테이너의 파일 시스템을 아카이브 파일로 저장합니다.
    • ex) docker export <컨테이너ID> > <파일이름>.tar
  • `docker rename`: 컨테이너의 이름을 변경합니다.
    • ex) docker rename <컨테이너ID> <새이름>

6. Docker 서비스 관리 (Service)

Docker 서비스는 여러 컨테이너를 묶어 애플리케이션을 배포, 관리할 때 유용합니다.

  • `docker service ls`: 실행 중인 서비스 목록을 확인합니다.
  • `docker service ps`: 서비스의 상태를 확인합니다.
    • ex) docker service ps <서비스이름>
  • `docker service create`: 새로운 서비스를 생성합니다.
    • ex) docker service create <옵션> <이미지이름>
  • `docker service update`: 기존 서비스를 업데이트합니다.
    • ex) docker service update <서비스이름>
  • `docker service scale`: 서비스의 인스턴스 수를 조정합니다.
    • ex) docker service scale <서비스이름>=<인스턴스수>
  • `docker service logs`: 서비스의 로그를 확인합니다.
    • ex) docker service logs <서비스이름>
  • `docker stack services`: 스택에 포함된 서비스 목록을 확인합니다.
    • ex) docker stack services <스택이름>

7. Docker 네트워크 관리 (Network)

컨테이너 간 통신을 설정하려면 네트워크를 구성해야 합니다.

  • `docker network create`: 새로운 네트워크를 생성합니다.
    • ex) docker network create <네트워크이름>
  • `docker network ls`: 생성된 네트워크 목록을 확인합니다.
  • `docker network rm`: 사용하지 않는 네트워크를 삭제합니다.
    • ex) docker network rm <네트워크이름>
  • `docker network connect`: 컨테이너를 특정 네트워크에 연결합니다.
    • ex) docker network connect <네트워크이름> <컨테이너ID>
  • `docker network disconnect`: 컨테이너를 네트워크에서 분리합니다.
    • ex) docker network disconnect <네트워크이름> <컨테이너ID>
  • `docker network inspect`: 네트워크의 상세 정보를 확인합니다.
    • ex) docker network inspect <네트워크이름>

8. 요약

기본 명령어 총 정리 이미지 입니다.

도커 명령어 요약
도커 명령어 요약


마무으리

Docker는 처음 접하면 다소 복잡하게 느껴질 수 있지만, 저도 이 글을 준비하며 하나씩 배우고 있습니다. 위의 명령어들을 함께 익혀가며 Docker 환경을 조금씩 더 잘 활용할 수 있게 되기를 바랍니다. 이 글이 필요한 분들에게 도움이 되기를 바랍니다! 🙏

 

오늘도 감사합니다.

 

저작자표시 비영리 변경금지 (새창열림)

'Dev > Docker' 카테고리의 다른 글

[Docker] 컨테이너 라이프 사이클 & CLI  (0) 2025.02.11
[Docker] Docker Compose 설치 & 개념 정리  (0) 2025.02.07
[Docker] Docker 기초 이론  (0) 2025.02.06
[Docker] 포테이너(Portainer) 설치 & 개념 정리  (1) 2025.02.06
[Docker] Ubuntu 24.04 Docker 설치  (0) 2025.02.05
'Dev/Docker' 카테고리의 다른 글
  • [Docker] 컨테이너 라이프 사이클 & CLI
  • [Docker] Docker Compose 설치 & 개념 정리
  • [Docker] Docker 기초 이론
  • [Docker] 포테이너(Portainer) 설치 & 개념 정리
Code Ninja
Code Ninja
초보 개발자의 성장 기록을 담아, 어렵지 않게 풀어쓰는 기술 블로그를 운영하고 있습니다.
  • Code Ninja
    Beautiful Code
    Code Ninja
  • 전체
    오늘
    어제
    • 분류 전체보기 (26)
      • Project (11)
        • Home Server (5)
        • Tistory (6)
      • Dev (12)
        • Typescript (4)
        • Docker (6)
        • DB (0)
        • React (0)
        • Linux (2)
        • Github (0)
      • 자기계발 & 라이프 해킹 (3)
  • hELLO· Designed By정상우.v4.10.3
Code Ninja
[Docker] Docker 초보 탈출! 명령어 총 정리
상단으로

티스토리툴바