컨테이너로 애플리케이션을 실행하는 방법을 배우기전에 도커 이미지와 도커 컨테이너의 관계를 이해해야 합니다.

 

도커 이미지

- 도커 컨테이너를 구성하는 파일 시스템과 실행할 애플리케이션 설정하나로 합친 것으로, 컨테이너를 생성하는 템플릿 역할을 합니다.

 

도커 컨테이너

- 도커 이미지를 기반으로 생성되며, 파일 시스템애플리케이션구체화되어 실행되는 상태

 

 

도커 이미지 하나로 여러 개의 컨테이너를 생성할 수 있습니다.

위의 도커 이미지는 우분투 파일 시스템을 실행하는 애플리케이션 파일을 담고 있습니다.

컨테이너가 생성될 때 이미지로부터 이를 구체화 하고 컨테이너 안의 우분투 파일 시스템상에서 애플리케이션이 실행됩니다.

컨테이너로 어플리케이션을 실행하려면 컨테이너 형태로 구체화될 템플릿 역할을 하는 이미지를 먼저 만들어야 합니다.

 

이제 HTTP 응답을 반환하는 간단한 애플리케이션을 실제로 만들어보면서 이러한 관계를 정리 해보겠습니다.

도커 이미지를 만들기 위한 Dockerfile을 작성하고, 이랗게 만든 이미지를 사용해서 도커 컨테이너를 실행해보겠습니다.

그 다음 도커포워딩 기능도 사용해보도록 할텐데요.

컨테이너에서 실행되는 애플리케이션에 HTTP 요청을 보내고 애플리케이션에서 돌려주는 응답을 받는 과정까지 진행하겠습니다.

 

도커 이미지와 도커 컨테이너

 

먼저 gihyodocker/echo:latest 는 도커 이미지를 받아옵니다.

이 이미지는 누구나 받을 수 있도록 공개되어 있으며 다음과 같이 docker image pull 명령으로 내려받을 수 있습니다.

 

 

내려받은 이미지를 docker container run 명령으로 다음과 같이 실행합니다.

$ docker container run -t -p 9000:8080 gihyodocker/echo:latest

 

 

지금 만든 컨테이너는 옵션을 통해 포트 포워딩이 적용되어 있습니다.

도커 실행 환경의 포트 9000을 거쳐 HTTP요청을 전달 받습니다.

 

터미널을 하나 더 띄워 curl 명령으로 접근해보겠습니다. 

응답 내용이 화면에 출력되는 것을 봐서 정상적으로 동작하고 있음을 알 수 있는 명령어 입니다.

 

curl http://localhost:9000/

 

 

docker container stop 명령으로 컨테이너를 정지 시킬 수 있습니다.

인자로 

$ docker container ls -q

를 지정하여 

$ docker stop

 명령을 사용합니다.

 

도커이미지를 만들고 이 이미지에서 다시 컨테이너를 실행해 포트 포워딩을 통해 사용자가 컨테이너 안에서 실행중인 애플리케이션을 사용하는 이 과정이 도커 컨테이너를 사용하는 기본 방법입니다.

 

 

 

 

 

'Doker' 카테고리의 다른 글

도커 이미지 다루기  (0) 2020.08.17
도커를 사용하는 의의  (0) 2020.08.16

+ Recent posts