• Link to Facebook
  • Link to LinkedIn
  • Link to X
  • Link to Youtube
  • 로그인
  • 회원가입
  •  한글 한글 한글 ko
  • English English 영어 en
OPENMARU APM
  • 오픈마루
    • 회사소개
    • 연혁
    • 오픈마루 CI
  • 제품
    • OPENMARU Cloud APM
      • Application 모니터링
      • Openshift & Kubernetes 모니터링
      • WEB/WAS 모니터링
      • URL 모니터링
      • Cubrid 모니터링
    • OPENMARU Cluster
    • OPENMARU Dashboard
  • 오픈소스
    • 쿠버네티스
    • 아파치 톰캣
    • CentOS
  • 레드햇
    • Red Hat Enterprise Linux
    • Red Hat OpenShift
    • Red Hat JBoss EAP
  • 가격 안내
  • 조달물품
    • G2B 딜 등록
    • 조달물품 OPENMARU APM
    • 조달물품 OPENMARU Cluster
    • 혁신장터
    • 찾아가는 클라우드 네이티브 세미나
  • 레퍼런스
  • 고객지원
  • 문서
  • 블로그
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu

도커 오픈소스 슈퍼루키 2013 – 컨테이너의 힘을 끌어올리다

도커( Docker )는 2013년 오픈소스 슈퍼루키로 선정

들어가며


도커(Docker)는 2013년 오픈소스 라이센스를 검증하는 블랙 덕 소프트웨어에서 매년 뽑는 “오픈 소스 올해의 루키” 중 하나로 선정된 오픈소프 커뮤니티 제품입니다.

도커(Docker)는 PaaS 공급 업체 DotCloud가 PaaS의 벡엔드로 사용하는 컨테이너 기반의 가상화 소프트웨어를 오픈소스로 공개한 것입니다.

  • http://www.docker.io/

Red Hat의 RHEL 6.5 버전에도 Linux Containers (LXC) 을 기반으로하는 컨테이너 엔진인 docker 를 포함합니다. Docker 는 하나의 Linux 시스템에 여러 Linux 시스템 운영을 위한 소프트웨어이다.

시스템의 분리에는 Linux Containers (LXC)을 파일 시스템은 Advanced multi layered unification filesystem (Aufs)를 사용합니다. Docker은 Go로 작성되었습니다. 소스 코드 전체는 대략 15,000 줄 정도 입니다.

도커(Docker)

도커(Docker)는?

지금 까지 가상화라고 하면 VirtualBox , KVM, VMWare 정도 알고 있었는데 , 완전히 새로운 형태의 가상화 엔진이 나타났습니다.

이 새로운 Docker 는 한 시스템에서 많은 수의 가상 머신을 시작과 동시에 바로 사용할 수 있는 가볍고 빠른 가상화 기술입니다.

기술적으로 이 Docker 를 정리하자면 LXC 와 AUFS를 조합하여 GitHub 와 같은 형태로 사용할 수 있도록 만든 새로운 형태의 PaaS를 위한 경제적인 가상화엔진입니다.

도커(Docker)는?

도커(Docker)는 Linux Container(LXC)중 하나


도커(Docker)를 간단하게 말하자면 Linux Container (LXC)의 랩퍼입니다.

하지만 단순히 LXC 만 랩핑하는 것 뿐이 아니라 Docker Union 파일 시스템을 사용하여 컨테이너 작업을 commit 이나 push 와 같은 익숙한 인터페이스로 변경 내용을 관리할 수 있도록 합니다.

LXC 는 가상화 기술의 일종으로 컨테이너라는 가상 컴퓨터를 독립적인 호스트 환경으로 사용할 수 있습니다. 하이퍼바이저형 가상화 기술을 이용하는 Xen Server 등과 는 달리 LXC 는 매우 가볍고 빠릅니다.

    Linux Container (LXC)

    Advanced Multi-layered Unification Filesystem (aufs)


    AUFS는 Union FS의 새로운 구현체로 다른 여러 파일 시스템을 하나의 파일 시스템으로 병합합니다.

    OS 중에서 LiveCD 라고 하는 리눅스 배포판에 적용되는 파일 시스템이 “AUFS (Another Union File System)”입니다.

    LiveCD로 만들어진 OS 는 하드디스크에 OS 를 설치하지 않고 CD나 DVD에서 부팅하고 바로 OS 를 사용할 수 있는 장점이 있습니다.

    반면에 문제는 변경된 내용을 저장하지 못한다. 이러한 단점을 보완하기 위해서 사용되고 있는 파일 시스템이 AUFS 입니다.

    AUFS는 광학미디어에 저장할 내용을 메모리에 저장해 두고 추가/변경된 파일을 읽을 경우 메인 메모리에서 저장된 파일을 로드합니다.

    또한 AUFS 데이터는 USB 메모리에 저장이 가능하여, 부팅용 DVD 미디어와 변경된 내용을 저장한 USB 를 함께 사용하여 최신 OS 를 재현할 수 있습니다.

      Advanced Multi-layered Unification Filesystem (aufs)

      Docker는 AUFS에 크게 의존합니다. Docker가 새로운 이미지를 만들 때 실제로 새 파일을 통째로 만드는 것이 아닙니다. 대신 Docker는 기반이되는 이미지에 대한 포인터를 유지하고 이미지를 만듭니다.

      포인터를 만들 뿐이며, 이 시점에서 디스크에 쓰기가 발생하지 않습니다. 기반 이미지에서 파일 시스템을 분기 할 때 (예를 들어 새로운 파일을 만들거나 파일에 변경하였을 때) 처음 그 변경 사항을 디스크에 기록합니다.

      이 기술은 일반적으로 복사 (COW)이라고 합니다.

      이미지 변경은 커밋 할 때마다, 새로운 파일 시스템 레이어로 쌓입니다. 이 동작을 Docker는 “파일 시스템을 스택한다”라고 부릅니다.

        도커(Docker) 맺음말


        도커(Docker) 는 매우 기대되는 가상화 기술 이지만 아직 걸을 수 있다고 할 수 있을 만큼의 성숙한 기술이라고 하기는 어렵습니다. 특히 Docker 에서는 컨테이너에서 스토리지 사용에 단점이 있습니다.

        기본적으로 컨테이너에서 커밋 하지 않고 종료하면 변경된 모든 내용이 사라져 버립니다. 이것은 응용 프로그램에서 로그를 저장하거나 데이터베이스를 운영하는데 있어서 치명적인 문제가 됩니다.

        Extenal Volume 이라는 기능이 있기 때문에 사용할 수도 있지만 아직 개발 중이므로 운영 환경에서 적용은 어렵습니다.

        References


        • 올 한 해 계속 기억해야 할 오픈소스 수퍼 루키 10선 – http://www.itworld.co.kr/print/85821
        • 이렇게 배포해야 할까? – Lightweight Linux Container Docker 를 활용하여 어플리케이션 배포하기 (KT 김영찬님 발표자료 ) – http://deview.kr/2013/detail.nhn?topicSeq=45
        • 도커(Docker) 사 Mirantis 에 인수 합병 – Docker 사 , 도커 엔터프라이즈 사업을 미란티스 에 매각

        쿠버네티스 개념 뽀개기와 데모 그리고 무료 체험 신청

        쿠버네티스 개념 뽀개기와 데모 그리고 무료 체험 신청

        최근 코로나19로 인한 비대면 솔루션의 수요가 늘면서, 클라우드 네이티브 앱 개발과 클라우드 네이티브 컴퓨팅 환경에 대한 요구사항들이 급증하고 있습니다.

        그러나 COVID-19라는 재난으로 인해 디지털 트랜스포메이션, 클라우드 전환 등은 반강제적으로 그리고 빠르게 산업에 침투하고 있습니다.

        고객 직접 대면이 어려운 지금, 비대면으로 고객들이 PoC(Proof of Concept)를 체험할 수 있도록 그 활용 가이드를 제안해드립니다.

        쿠버네티스 비대면 세미나와 무료 체험 신청

        쿠버네티스 기대효과 자료 다운로드 – 기획자/운영자/개발자 측면

        컨테이너 기술을 꼭 도입해야 하는 이유
        쿠버네티스 도입 이유 PDF 자료 다운로드

        Docker 그리고 컨테이너 기술의 역사

        컨테이너 기술의 시작과 현재까지 발전해온 역사를 살펴봅니다.

        1972년 IBM VM / 370 (OS) 최초 가상화 기능 구현 , 1979 년 UNIX V7 에 chroot 시스템 콜 도입, 1999년 Virtuozzo 출시 컨테이너 가상화의 새로운 방향을 제시

        상세 보기
        Docker 그리고 컨테이너 기술의 역사

        가상화와 컨테이너의 비교

        기존에는 하나의 물리머신에서 하나의 OS를 설치하여 그 OS 상에서 다양한 프로그램을 실행할 수 있었습니다. 가상화는 물리머신에서 하이버바이저 또는 호스트OS 에서 가상화 소프트웨어를 실행하여 하나의 물리머신에 여러개의 게스트 OS 를 실행할 수 있습니다.

        가상화는 개발측면이나 운영측면에서 자원 효율적으로 사용하고 관리하는 기술로서 널리 확산되었습니다. 다양한 OS 환경과 어플리케이션을 하나의 파일로 관리할 수 있는 “가상 머신 (VM)”은 손쉽게 이동할 수 있는 이식성을 제공해 주었습니다.

        하지만 가상화의 문제점들도 이슈가 되었습니다. 거대한 VM 의 크기, Guest OS 에 대한 라이선스, 보안 패치 , 성능 저하 및 장애 발생시 다른 VM 에 영향 등이 있습니다.

        기존의 가상화 기술은 가상 머신에서 게스트 OS를 시작해야했습니다. 하지만 컨테이너는 게스트 OS를 시작하지 않고 애플리케이션 실행 환경을 구축 할 수 있습니다.

        컨테이너는 하이퍼바이저와 Guest OS 없이 애플리케이션 운영환경을 제공하는 기술로서 앞서의 가상화 기술의 고질적인 문제점들을 해결하고 있습니다.

        컨테이너 장점

        가상 머신은 하드웨어 스택을 가상화합니다. 컨테이너는 이와 달리 OS를 가상화하여 여러 개의 컨테이너를 OS 커널에서 직접 실행합니다. 컨테이너는 기존의 가상화 기술보다 훨씬 가볍게 동작하며, OS 커널을 공유하고, 시작 시간이나 종료 시간이 빠르고, 메모리를 훨씬 적게 차지합니다.

        상세 보기
        컨테이너 기술소개

        컨테이너 기술 소개

        IT 분야에서 “컨테이너”도 일종의 박스의 의미이며, 물류분야에서 처럼 Portability (이동성) 을 실현하기 위해 만들어진 기술입니다.

        이동성은 IT 시스템 (플랫폼 또는 인프라) 상에서 다른 IT 시스템으로 이동을 쉽게 허용하는 성질을 의미하는 것입니다.

        상세 보기
        컨테이너 기술소개

        이 글 공유하기:

        • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook
        • 클릭하여 X에서 공유 (새 창에서 열림) X
        • 클릭하여 친구에게 이메일로 링크 보내기 (새 창에서 열림) 전자우편
        • 인쇄하기 (새 창에서 열림) 인쇄
        • Reddit으로 공유하기 (새 창에서 열림) 레딧
        • Pinterest에서 공유하려면 클릭하세요 (새 창에서 열림) Pinterest
        • Telegram에 공유하려면 클릭하세요. (새 창에서 열림) Telegram
        • WhatsApp에 공유하려면 클릭하세요. (새 창에서 열림) WhatsApp

        이것이 좋아요:

        좋아하기 가져오는 중...

        Recent Posts

        • RHEL on WSL 출시! 윈도우에서도 Red Hat 환경을 쉽게 구축하세요 2025-06-05
        • [세미나] 복잡한 MSA, AI로 쉽게 해결할 수 있는 방법 공개! 2025-06-02
        • 윈도우 Subsystem에서 RHEL 사용하기 | RHEL WSL 가이드 2025-05-29
        • Java 앱 배포, 더 빠르고 간편하게 – JBoss EAP 8.1 베타 2025-05-22
        • JBoss EAP 8.1 베타 | 엔터프라이즈 Java 애플리케이션 현대화 2025-05-12

        Categories

        • APM
        • Cloud
        • Cloud Native Seminar
        • Cluster
        • gift
        • JBoss
        • Kubernetes
          • Container
        • Linux
        • Microservices Architecture
        • News
        • Newsletter
        • OPENMARU
          • Dashboard
        • OpenShift
        • Red Hat
        • Seminar
          • gift
        • Tech Talk
        • 발표자료
        • 분류되지 않음
        • 오픈나루 공지사항
        • 오픈소스

        이메일로 블로그 구독하기

        이 블로그를 구독하고 이메일로 새글의 알림을 받으려면 이메일 주소를 입력하세요

        태그

        APM cloud Cloud Native Container Docker Hybrid Cloud jboss JBoss EAP Kubernetes Kubernetes 모니터링 linux MSA Native OPENMARU OPENMARU APM OpenShift Openshift Promotion PaaS PaaS 플랫폼 Red Hat redhat RHEL tomcat Virtualization WAS Wildfly 가상화 네이티브 도커 레드햇 리눅스 모니터링 브리핑 세미나 오픈마루 오픈마루 APM 오픈시프트 주간 진짜 클라우드 컨테이너 쿠버네티스 클라우드 클라우드 네이티브 클라우드네이티브 클라우드 네이티브 세미나

        Search

        Search Search

        오픈마루

        04778 서울시 성동구 뚝섬로1길 31 906 호
        (성수동1가, 서울숲M타워)

        Tel : 02-469-5426 | Fax : 02-469-7247
        Email : sales@openmaru.io

        • OPENMARU CLOUD APM
          • Application 모니터링
          • Openshift & Kubernetes 모니터링
          • WEB/WAS 모니터링
          • URL 모니터링
          • Cubrid 모니터링
        • 가격안내
        • 고객 레퍼런스
        • 고객지원
          • 문서
          • 사용자가이드
          • 기술지원
        • 블로그
        • 이용약관
        • 개인정보처리방침
        • 서비스수준협약
        • 회사소개
        Copyright © OPENMARU, Inc. All Rights Reserved. - powered by Enfold WordPress Theme
        • Link to Facebook
        • Link to LinkedIn
        • Link to X
        • Link to Youtube
        Link to: Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의 자바 런타임 Link to: Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의 자바 런타임 Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의...Azul의 x86 용 Zing Elastic Java Runtime – 비교할 수 없는 극강의 자바 런타임 Link to: Apache httpd 비교 – Prefork MPM vs. Worker MPM Link to: Apache httpd 비교 – Prefork MPM vs. Worker MPM Prefork MPMApache httpd 비교 – Prefork MPM vs. Worker MPM
        Scroll to top Scroll to top Scroll to top
        • 한글
        • English
        %d