상세 컨텐츠

본문 제목

Docker(도커)를 이용한 간단한 CI/CD 개발환경 구축을 위한 개념

클라우드/Docker

by JORDON 2023. 1. 25. 11:01

본문

반응형

도커는 리눅스의 응용 프로그램들을 프로세스 격리기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다. 다양한 개발환경 및 형상관리, 배포를 위해 사용되며 최근까지도 유용하게 사용되고 있는 소프트웨어이다.

 

도커의 장점

어플레케이션의 개발과 배포가 편해진다

  1. 독립된 개발 환경보장 - 컨테이너는 격리된 공간임으로 그자체에 특별한 권한을 주지 않는 한 내부에서 무엇을 하든 OS에 영향을 주지 않는다.
  2. 개발/운영환경 통합 - CI (Continuous Integration) CD(Continuous Delivery)
  3. 배포 신속성 및 하드웨어(H/W) 효율

도커의 특징

레이어 저장방식

도커의 이미지를 효율적으로 저장하는 방식

우분투 이미지가 A+B+C라면 ngix 는 A + B + C 의 이미지 이다.

 

이미지 경로

이미지는 URL 방식으로관리함

간단하고 이해하기 쉬움

 

도커파일(docker file)

도커이미지를 만들기 위한 DSL

 

도커파일의 명령 목록

  • FROM - 베이스 이미지 지정
  • RUN - 명령 실행 : shell형식, exec형식 (이미지를 작성하기 위해 실행하는 명령)
  • CMD - 컨테이너 실행 명령 (Dockerfile 안에서는 하나의 명령만 가능, 우선적인 명령이 있을 시 덮어짐)
  • LABEL - 라벨 설정
  • EXPOSE - 포트 익스포트
  • ENV - 환경변수
  • ADD - 파일/디렉토리 추가 (ADD <호스트파일경로> <Docker 이미지의 파일 경로>)
  • COPY - 파일 복사 (COPY <호스트파일경로> <Docker 이미지의 파일 경로>)
  • ENTRYPOINT - 컨테이너 실행 명령 (다른 명령이 있어도 같이 쓰임)
  • VOLUME - 볼륨마운트
  • USER - 사용자 지정
  • WORKDIR - 작업 디렉토리
  • ARG Dcokerfile - 안의 변수
  • ONBUILD - 빌드 완료 후 실행되는 명령
  • STOPSIGNAL - 시스템 콜 시그널 설정
  • HEALTHCHECK - 컨테이너의 헬스 체크
  • SHELL - 기본 쉘 설정

Docker의 활용

 

 

도커를 이용한 도커 컨테이너 활용 사례 중 하나인 구름IDE입니다.

구름IDE는 웹페이지에서 개발이 가능한 통합개발 환경서비스를 제공해주고 있기 때문에 별도의 프로그램 설치 없이 웹사이트안에서 실제로 코드가 구동되는지 확인할 수 있는 웹사이트입니다.

간단하게 설명드리자면 구름IDE는 웹에서 사용자에게 컨테이너라는 독립적인 가상화 공간을 제공해 주고, 이 공간에 사용자가 개발하고 싶은 소프트웨어 스택을 선택한 다음 개발을 할 수 있도록 환경을 제공해 줍니다.

 

Docker-compose

 

여러 개의 컨테이너로부터 이루어진 서비스를 구축, 실행하는 순서를 자동으로 하여, 관리를 간단히하는 기능이다.

Docker compose에서는 compose 파일을 준비하여 커맨드를 1회 실행하는 것으로, 그 파일로부터 설정을 읽어들여 모든 컨테이너 서비스를 실행시키는 것이 가능하다.

 

즉, 여러개의 모듈로 이루어진 프로그램을 하나의 시스템으로 통합하여 하나의 전체적은 프로세스를 실행시켜주는 것

반응형

관련글 더보기

댓글 영역