DEV-STUDY/Infra

도커 기본 사용 흐름 이해하기

HwangJerry 2023. 7. 22. 00:18

도커는 기본적으로 CLI에 커맨드를 입력하는 방식으로 사용할 수 있습니다. 내부적으로는 도커에서 제공하는 CLI를 이용하여 도커 데몬이라고 불리는 도커 서버에 명령을 내려서 이미지를 생성, 컨테이너 실행과 같은 작업을 수행하게 됩니다.

 

커맨드 입력해보기

1. 도커 데스크탑이 실행되고 있는지 확인합니다. Docker Desktop이 실행되고 있어야 도커 커맨드를 사용할 수 있습니다.

 

2. 윈도우 기준 git bash 터미널을 열고, docker run hello-world 명령어를 입력해봅니다.

위 명령어를 뜯으면 다음과 같습니다.

- docker : 도커 클라이언트 호출
- run : 컨테이너 생성 및 실행

- hello-world : 컨테이너 생성을 위한 이미지 지정

 

run hello-world 명령어를 입력하면 이미지 cache 보관 장소에서 먼저 해당 이미지가 있는지를 확인하게 되는데, hello-world라는 이미지를 한번도 나의 환경에서 실행한 적이 없기 때문에 hello-world라는 이미지를 먼저 도커 서버로부터 pulling을 시도하는 것을 확인할 수 있습니다. 도커 허브라는 곳으로부터 hello-world라는 이미지를 불러와서 실행해보는 과정을 위를 통해 확인할 수 있습니다. (여기서, hello-world 이미지는 위에 나오는 텍스트를 콘솔에 반환해주는 정말 간단한 프로그램임을 알 수 있습니다.)

 

위 과정을 요약하면 다음과 같습니다.

1. 도커 클라이언트에 명령어 입력 후 도커 서버로 보냄

2. 도커 서버에서 컨테이너를 위한 이미지 캐시가 있는지 확인

3. 없다면 도커 허브에서 pull 받아옴. / 있다면 그 이미지 캐시로 컨테이너 생성 및 실행

 

이미지를 컨테이너로 만드는 방법

이미지에는 프로그램을 실행할 때 필요한 모든 설정이나 종속성을 가지고 있습니다. 쉽게 말해서 어플리케이션 실행을 위한 클래스와 같이 어플리케이션 설계도라고 비유한다면, 컨테이너는 그 클래스의 인스턴스와 같습니다.

1. 이미(파일 스냅샷)를 컨테이너의 하드 디스크에 올린다.

2. 시작 커맨드를 이용하여 어플리케이션을 실행한다.