본문 바로가기
IT Tech & Terms

도커(Docker) - 2

by BeomBe 2024. 3. 6.
반응형

2024.02.29 - [IT Tech & Terms] - 도커(Docker)

나중에 공부하기위해 미리 정리해 두려고 한다.

 

도커를 이용한 다양한 프로젝트 유형

도커는 컨테이너 기술을 활용하여 다양한 종류의 프로젝트를 쉽고 효율적으로 구현할 수 있게 해줍니다. 🐳


웹 서비스 및 애플리케이션

  • 웹 애플리케이션: 복잡한 개발 환경 구성 없이 도커 컨테이너를 이용해 웹 애플리케이션을 배포하고 운영할 수 있습니다. 예를 들어, Python, Node.js, Ruby 등의 언어로 구현된 웹 애플리케이션들이 도커와 잘 호환됩니다.
  • 웹사이트 호스팅: 정적 사이트나 CMS(워드프레스 등) 기반 웹사이트를 호스팅하는 데 도커를 사용할 수 있습니다.

데이터베이스 및 저장소

  • 데이터베이스: MySQL, PostgreSQL, MongoDB 같은 데이터베이스를 컨테이너로 실행하여 애플리케이션 데이터 관리를 간소화할 수 있습니다.
  • 캐시 시스템: 레디스(Redis)와 같은 인메모리 캐시 솔루션을 컨테이너로 쉽게 배포하고 운영할 수 있습니다.

마이크로서비스 아키텍처

  • 마이크로서비스: 각각의 작은 서비스들이 독립적으로 배포되고 운영될 수 있도록 도커를 활용하여 분산 시스템을 구축할 수 있습니다. 개발, 테스트, 운영 환경에서도 일관성 유지가 용이합니다.

개발 및 테스트 환경

  • 로컬 개발 환경: 도커를 사용하여 개발자 각자의 PC에서 실행할 개발 환경을 쉽게 구축하고 공유할 수 있습니다.
  • CI/CD 파이프라인: 지속적인 통합(Continuous Integration) 및 지속적인 배포(Continuous Deployment) 파이프라인에서의 테스트 및 배포 단계에서 도커가 활용됩니다.

배치 처리 및 로깅

  • 배치 작업: 주기적인 작업이나 크론(Cron) 작업 등을 컨테이너로 실행하고 관리할 수 있습니다.
  • 로깅 및 모니터링: ELK 스택(Elasticsearch, Logstash, Kibana) 등 로깅 및 모니터링을 위한 플랫폼을 컨테이너로 운영할 수 있습니다.

도커는 환경 구성의 복잡성을 줄여주고 개발 및 운영의 일관성을 향상시켜 주기 때문에, 다양한 종류의 프로젝트와 서비스를 더 쉽게 만들고 관리할 수 있게 해줍니다. 특히 마이크로서비스 아키텍처와 같은 현대적인 소프트웨어 설계 패턴에 매우 적합합니다

 

도커 이미지 생성 방법

도커 이미지를 생성하려면 Dockerfile이라는 텍스트 문서를 작성하여 이미지 생성 과정을 따라 할 수 있는 단계별 명령어를 정의해야 합니다. 아래는 도커 이미지를 만드는 기본적인 순서와 방법을 안내드립니다. 👨‍🍳


1. Dockerfile 작성하기

  • Dockerfile: 도커 이미지를 구성하기 위한 지침이 포함된 텍스트 문서로, 컨테이너가 동작해야 할 방식을 사전에 정의합니다.
  • 기본 명령어:
    • FROM: 베이스 이미지를 지정. 예를 들어 FROM ubuntu:18.04는 Ubuntu 18.04를 베이스 이미지로 씁니다.
    • RUN: 이미지를 생성하는 과정에서 실행할 쉘 커맨드. 예를 들어, RUN apt-get update 명령어는 필요한 패키지를 업데이트합니다.
    • COPY: 로컬 파일 시스템에서 이미지로 파일을 복사. COPY . /app은 현재 폴더의 모든 내용을 이미지의 /app 디렉터리로 복사합니다.
    • CMD: 이미지로부터 생성된 컨테이너가 시작될 때 실행될 명령어를 지정합니다.

Docker.file 예시

# 첫 번째 라인은 베이스 이미지를 지정합니다.
FROM node:12-alpine
# 필요한 패키지를 설치합니다.
RUN apk add --no-cache python3 g++ make
# 작업 디렉토리를 설정합니다.
WORKDIR /app
# 파일을 이미지로 복사합니다.
COPY . .
# 애플리케이션의 종속성을 설치합니다.
RUN yarn install --production
# 컨테이너가 시작될 때 실행할 명령어를 지정합니다.
CMD ["node", "src/index.js"]

 

2. 도커 이미지 빌드하기

  • 이미지 빌드 커맨드: Dockerfile이 있는 디렉토리에서 docker build -t [이미지 이름]:[태그] . 명령어를 실행합니다. -t 옵션은 이미지에 이름과 태그를 할당합니다.
  • 실행 예시: docker build -t myapp:1.0 .

3. 이미지 확인 및 실행하기

  • 이미지 목록 확인: docker images 명령어로 빌드된 이미지가 올바르게 생성됐는지 확인합니다.
  • 컨테이너 실행: docker run -it --name [컨테이너 이름] [이미지 이름]:[태그] 명령어로 생성된 이미지를 바탕으로 컨테이너를 실행합니다.
반응형

'IT Tech & Terms' 카테고리의 다른 글

스크럼(Scrum), 애자일(Agile)  (23) 2024.03.28
조엘 테스트(Joel Test)  (25) 2024.03.22
도커(Docker)  (37) 2024.02.29
Webpack, Babel, Polyfill  (26) 2024.02.16
CORS(Cross-Origin Resource Sharing)란?  (21) 2024.02.16