Docker 사용법 기본 명령어


Docker 사용법 기본 명령어
Docker 기본 사용법에 대해서 설명드리도록 하겠습니다. 이미지 다운로드, 컨테이너 생성과 종료 등 Docker 사용법과 기본 명령어 등에 대해서 설명드리도록 하겠습니다. 도커 설치와 관련된 내용은 아래의 글을 참고해 주시기 바랍니다.

우분투에서 docker 설치 방법

Docker란?

Docker는 컨테이너로 어플리케이션을 개발하고, 배포, 실행할 수 있는 플랫폼입니다. 어플리캐이션을 배포하기 위해서 리눅스 컨테이너를 사용하는 것을 컨테이너화(containerization)라고 합니다. 컨테이너는 새로운 기술이 아니지만 어플리케이션을 쉽게 배포하기 위해서 사용됩니다. Docker 사용법과 기본 명령어등을 이해하려면 Docker의 컨셉과 컨테이너와 이미지 등 주요 개념들을 이해하셔야 합니다.

  • 이미지(Image) : 어플리케이션을 실행하기 위한 관련된 파일들을 포함하는 패키지의 묶음 입니다. 실행 파일, 라이브리, 설정 파일, 환경변수 등을 포함하고 있습니다.
  • 컨테이너(container) : 이미지의 런타임 인스턴스입니다. 하나의 이미지로 부터 여러개의 컨테이너를 생성할 수도 있습니다.

운영체제에서 실행가능한 파일은 이미지이고, 실행 가능한 파일로부터 생성된 프로세스를 컨테이너라고 비유할 수 있겠습니다.

컨테이너와 가상머신

컨테이너는 리눅스를 기반으로 실행되며 호스트 운영체제의 커널을 공유하게 됩니다. 반면에 가상머신의 경우는 Hypervisor라는 호스트 운영체제와 별개로 Guest 운영체제로 동작되게 됩니다.

출처 : https://docs.docker.com/

컨테이너와 가상머신의 가장 큰 차이는 Guest 운영체제의 여부입니다. Docker의 컨테이너는 Guest 운영체제가 없기 때문에 보다 빠르게 실행 될 수 있는 장점이 있습니다.

Docker 사용법 기본 명령어 대해서는 Docker 이미지 관련 명령어와 Docker 컨테이너 관련 명령어로 나눠서 설명드리도록 하겠습니다.

Docker 이미지 관련 명령어

컨테이너를 실행시키기 위해서는 먼저 이미지를 다운로드 받아야 합니다. 이미지를 다운로드 받지 않고, 바로 run 명령어로 컨테이너를 생성하면서 이미지를 자동으로 다운 받을 수도 있습니다.

이미지 다운로드

아래의 명령어로 최신 버전의 데비안 Docker 이미지를 다운로드 받아보겠습니다.

$ docker pull debian
Docker 사용법 기본 명령어

이미지 리스트 확인

다운 받은 Docker 이미지 리스트는 아래의 명령어로 확인 할 수 있습니다.

$ docker images
Docker 사용법 기본 명령어

이미지 삭제

다운로드 받은 이미지를 삭제하기 위해서는 rmi 라는 명령어로 이미지 ID를 지정하면서 삭제 할 수 있습니다. 아래의 명령어는 이미지 ID가 e1de74e67cc7 인 이미지를 삭제 하는 명령어 입니다.

$ docker rmi e1de74e67cc7
Docker 사용법 기본 명령어

이미지를 삭제 후 이미지 목록을 확인하면 기존 이미지가 삭제 된 것을 알 수 있습니다.

Docker 컨테이너 관련 명령어

이미지로부터 컨테이너를 생성하기 위해서는 run 명령어를 사용합니다. 먼저 실행하기 전에 호스트 리눅스의 배포판을 확인해 보도록 하겠습니다. /etc/issue 내용을 보면 우분투 리눅스를 사용하고 있는 것을 알 수 있습니다.

컨테이너 생성

아래의 명령어를 실행하여 데비안 이미지로 부터 컨테이너를 생성합니다.

$ docker run -it debian /bin/bash

위의 명령어를 실행하면 바로 프롬포트가 변경되게 됩니다. /etc/issue 내용을 확인하면 호스트 운영체제의 버전과 다르게 데비안 운영체제로 나타납니다. 호스트 운영체제와 격리된 컨테이너 내부 환경입니다. 컨테이너를 종료하면서 빠져나오기 위해서는 exit 명령어를 입력합니다.

컨테이너 목록 확인

생성된 컨테이너를 삭제하기 위해서 현재 생성된 전체 컨네이너 목록을 확인해 보도록 하겠습니다. 아래의 2개의 명령어는 동일한 명령어 입니다.

$ docker ps -a
$ docker container ls -a

컨테이너 삭제

종료된 컨테이너를 삭제하기 위해서는 rm 이라는 명령어와 함께 삭제하고자 하는 컨테이너 ID를 지정해 주면 됩니다. 아래의 명령어는 컨테이너 아이디가 d1202a706e75 인 컨테이너를 삭제 하는 명령어 입니다.

$ docker rm d1202a706e75

그리고 전체 컨테이너 목록을 확인해 보면 기존 종료된 컨테이너가 삭제 된 것을 알 수 있습니다.

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)