도커 튜토리얼

진행하기 전에 용어는 정리해야 겠다. VM Dock Image Dock 컨테이너 Docker Ubuntu 17.04 호스트 운영체제 Docker는 애플리케이션 영역에서 작동하는 가상화 플랫폼이다. 개발자와 시스템관리자는 docker를 이용해서 빠르고 쉽게 그들이 개발한 소프트웨어들을 격리된 운영체제 환경에서 테스트하고 배포할 수 있다.물론 VM(...

DockerFile 레퍼런스

Dockerfile에는 도커이미지를 빌드하기 위한 정보들이 들어 있다. 이 정보들을 이용해서 도커 이미지를 만들 수 있다. docker build 명령을 실행하면 Dockerfile에 있는 정보들을 이용해서 도커 이미지 파일을 생성한다. build 명령 다음에 Dockerfile이 있는 디렉토리를 설정하면 된다. 만약 현재 디렉토리에 Dockerfile이 ...

Docker Compose

Docker compose는 여러 컨테이너를 쉽게 실행 할 수 있도록 도와주는 도커 실행 툴이다. 이미지에서 컨테이너 하나 만들려면, 많은 옵션들을 설정해야 하는데, yaml 형식의 설정파일을 이용해서 여러개의 애플리케이션 서비스들을 효율적으로 관리 할 수 있다. 특히 Compose는 개발, 테스트, 스테이징 환경을 만드는데 많은 도움을 준다. Compos...

도커와 DevOps

컨테이너 기술이 필요한가 ? 라고 묻는 다면 마땅한 답이 생각나지 않을 것이다. 기술적으로는 "가상머신 보다 빠르게 실행 할 수 있다", "메모리와 CPU를 효과적으로 사용 할 수 있다"는 장점이 있다고 말 할 수 있겠다. 하지만 그게 그렇게 중요한 특징인가 ? 예컨데, 가상머신 기반의 시스템의 변경, 개발에서 배포 프로세스의 재 설계, 혹은 컨테이너 기반...

Distributed Operating System

SaaS와 PaaS 분야(이하 SaaS로 통일)에 관심을 가지고 있다. SaaS인프라는 두 개 이상의 컴퓨터 시스템으로 구성된 클러스터링 환경에서 작동을 한다. CPU, Memory, Disk와 같은 자원을 마치 하나의 컴퓨터인 것 처럼 통합한 후, 유저가 요청 할 때 적당한 크기의 자원을 할당해서 애플리케이션을 실행한다. 이를 위해서 1. 자원을 통합 1...

가상화와 도커에 대해서

이제 Docker는 인터넷 서비스 산언에서는 사실상 표준입니다. 간단한 개발 환경 구축에서 부터 시작해서, Docker swarm을 이용한 서비스 좀 더 나아가서 ECS와 Kubernetes와 같은 컨테이너 오케스트레이션 툴을 이용하여 컨테이너 기반의 인터넷 서비스 플랫폼을 구축/운영하기도 합니다. 몇 개의 챕터에 걸쳐서 가상화, docker에 대한 개념,...

도커 네트워크

컨테이너들은 같은 노드에 있는 컨테이너들, 다른 노드에 있는 컨테이너들과 통신을 해야 한다. 이렇게 하기 위해서는 컨테이너를 위한 네트워크를 구성해야 한다. 이 문서에서는 다양한 네트워크 구성들을 살펴볼 것이다. VirtualBox로 아래와 같은 테스트 환경을 만들었다. 1. 호스트 운영체제 즉, 개인 테스크탑 운영체제의 IP는 192.168.56.1 이...

Docker Storage

도커 스토리지를 다루기 전에 도커 이미지와 컨테이너의 관계를 살펴봐야 할 것 같다. 도커는 하나의 이미지로 부터 하나 이상의 컨테이너가 실행 될 수 있다. 하나의 프로그램 이미지(프로그램 파일)로 부터 하나 이상의 프로세스가 실행되는 것과 같은 이치다. 아래는 프로세스의 실행을 묘사한 그림이다. 프로그램에서 프로세스가 실행되지만 원본 프로그램은 변경이 되지...

Docker storage의 거의 모든 것

거의 모든 것이라고 하니 좀 너무 나간 것 같은 느낌이 든다. 그냥 이것 저것 다뤄 볼려고 한다. 다룰 내용은 다음과 같다. Docker에서 제공하는 스토리지 백앤드(backend)의 종류와 특징들 스토리지 백앤드간의 장점과 단점들 확장성 있는 스토리지 백앤드의 구성을 위한 아이디어들 테스트 환경은 다음과 같다. 개인 데스크탑 PC 우분투 리눅스 서...

도커 개요

이 문서는 도커레퍼런스가 아니다. 기본적인 이해와 사용이 가능하도록 하는데 목적이 있다. 도커는 오픈소스기반의 컨테이너 소프트웨어다. 도커 컨테이너는 애플리케이션을 실행하기 위해서 필요한 코드, 런타임, 시스템 툴, 시스템 라이브러리 등을 모두 포함한채로 배포 할 수 있다. 덕분에 컨테이너는 어떤 환경에서도 동일하게 작동한다.도커는 리눅스 운영체제에서 실행...