도커(Docker)

[도커] 개념 및 명령어 알아보기

붓 필 2023. 7. 21. 04:33

도커 개념

- 도커란? - 도커는 리눅스 컨테이너에 리눅스 애플리케이션을 프로세스 격리기술을 사용하여 더 쉽게 컨테이너로 실행하고 관리할 수 있게 해주는 오픈소스 프로젝트입니다.

 

- Virtual Machin(가상머신) vs Docker Container(도커 컨테이너)

 

   - Virtual Machin(VM)
      - 가상머신은 Hypervisor를 통해 여러 개의 운영체제를 생성되고 관리됨. (Guest OS)
      - 시스템 자원을 가상화하고 독립된 공간을 생성하는 작업은 HyperVisor를 거치므로 -> 성능 손실이 큼
      - 가상머신은 Guest OS를 사용하기 위한 라이브러리, 커널 등을 포함하므로 -> 배포할 때 용량이 큼

 

   - Docker Container
      - 도커 컨테이너는 가상화된 공간을 생성할 때 리눅스 자체 기능을 사용하여 프로세스 단위의 격리 환경을 만듦 -> 성능 손실이 없음
      - 가상머신과 달리 커널을 공유해서 사용하므로, 컨테이너에는 라이브러리 및 실행파일만 있음 -> 용량이 적다
      - 컨테이너를 이미지로 만들었을 때, 배포하는 시간 단축 및 사용할 때의 성능 손실이 거의 없는 장점을 가진다.

출처: https://signoz.io/blog/docker-container-lifecycle/

 

Docker Lifecycle

출처: https://signoz.io/blog/docker-container-lifecycle/

Docker commands

docker run [option] Image[name]

사용할 이미지가 저장되어 있는지 확인하고 없으면 다운로드를 한 후 컨테이너를 생성하고 시작

option =  -d:Run container in background and print container ID

 

docker ps
실행 중인 모든 컨테이너의 정보를 나열


docker ps -a
실행중 이거나 전에 중지 혹은 종료된 컨테이너의 정보를 나열


docker stop [OPTIONS] CONTAINER[CONTAINER...]

컨테이너를 중지(컨테이너를 여러 개 쓰면 여러개 중지)

 

docker rm [OPTIONS] CONTAINER [CONTAINER...]

컨테이너를 삭제 이때, 컨테이너를 정지 후(docker stop) 삭제해야 함

 

docker images [OPTIONS] [REPOSITORY[:TAG]]

이미지 정보 나열

 

docker rmi [OPTIONS] IMAGE [IMAGE...]

이미지 삭제 이때, 컨테이너에 있는 이미지를 중지하거나 삭제 후 실행해야 함

 

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

이미지를 registry로부터 가져옴