TIL

Chapter 03. 컨테이너 서비스를 위한 도커 활용

3.1 컨테이너 서비스

3.1.1 컨테이너 서비스란?

3.1.2 왜 도커 컨테이너 서비스일까?

도커 도입이 갖는 의미를 알기 위해선 컨테이너 서비스 개발이 이루어지는 일반적인 과정을 이해할 필요가 있다.

  1. 애플리케이션 코드 개발
    • 서비스 구동을 위한 코드 및 웹 화면 구성 등
  2. 베이스 이미지를 이용한 Dockerfile 작성
    • 개발에 필요한 인프라 구성 요소를 Dockerfile에 작성
    • 도커 허브를 통해 베이스 이미지를 다운로드하고 다양한 구동 명령어(RUN, CMD, ENDPOINT, ENV, ADD 등)와 작성한 코드, 라이브러리, 여러 도구를 포함시킨다.
  3. Dockerfile build를 통한 새로운 이미지 생성
    • docker build 명령으로 Dockerfile을 실행
    • 각 단계 별로 실행 로그를 확인하여 오류 내용도 알 수 있다.

4-1. 생성된 이미지를 이용한 컨테이너 실행

4-2. 도커 컴포즈를 이용한 다중 컨테이너 실행

5-1. 컨테이너 애플리케이션 서비스 테스트

5-2. 마이크로서비스 테스트

컨테이너 동작에 필요한 모든 내용을 사전에 코드로 작성하여 자동화하게 되면 애플리케이션 및 서버 환경을 적은 비용으로 빠르게 개발, 배포, 확장할 수 있다. 이러한 개념을 IaC(Infastructure as Code, 코드로서의 인프라)라고 한다.