반응형
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 |