Docker 3

[Docker] - 도커 이미지 빌드(Dockerfile)

들어가며 지난 글에서는 도커의 아키텍처에 대해서 알아보았다. 이번에는 도커의 샘플 애플리케이션을 실행시키면서 도커의 이미지 생성 방식을 알아보도록 하겠다. 애플리케이션 준비 도커에 동작시키기 위한 데모 애플리케이션을 확보해보자. nodejs로 동작하는 간단한 데모 애플리케이션을 docker getting-started github 저장소에서 다운로드할 수 있다. 클론 된 getting-started에는 파일과 디렉터리가 있지만 우리가 원하는 nodejs 데모 애플리케이션은 getting-started/app 디렉토리 안에 있다. 여기서 터미널을 열어 node src/index.js를 실행시킨다면 맨 처음 우리가 실행시킬 데모 애플리케이션을 실행시킬 수 있다. 하지만 지금 할 건 도커 이미지를 만든 다음 ..

Docker 2021.02.18

[Docker] - Docker Architecture(도커의 구조)

들어가며 지난 시간에는 도커와 컨테이너의 정의 그리고 가상 머신과 비교한 장점에 대해서 알아보았다. 이번에는 도커가 어떻게 컨테이너를 만들고 관리하는 아키텍처에 대해서 알아보도록 하겠다. 도커 아키텍쳐 도커는 기본적으로 clinet - server로 나누어져 있다. 클라이언트에서 docker 커맨드를 사용하면 도커 서버는 REST API형식으로 명령을 전달받아 수행하게 된다. 이 때문에 원격으로 도커 서버에 명령을 전달하거나 여러 개의 도커 서버에 접근 할 수 있으며 하나의 서버 또한 여러개의 클라이언트에서 명령을 받을 수 있다. 이다음은 내부 구조에 대해서 하나씩 알아보도록 하겠다. Docker daemon(dockerd) 도커 데몬은 클라이언트의 명령을 REST API로 받아 컨테이너, 이미지, 네트..

Docker 2021.02.14

[Docker] - Docker란 무엇인가?

들어가며 최근 해커톤을 진행하면서 도커 형식으로 주최 측에서 개발환경을 제공해주었다. 도커에 대해서는 어렴풋이 들어봤지만 실제로 개발에 활용하면서 탁월한 유용성을 체감했다. 좀 더 잘 활용하기 위해 세세한 기초부터 도커에 대해 알아보자. 도커의 정의 도커란 컨테이너를 기반으로하는 가상화 플랫폼이자 이를 운영하는 회사명이다. 가상화 플랫폼이라는 말은 기존의 Virtual Machine처럼 일종의 가상 머신을 만들어 운영하는 것을 의미한다. 그렇다면 컨테이너는 무엇일까? 컨테이너 컨테이너는 코드와 코드 실행에 필요한 종속성들을 패키지로 만든 소프트웨어 단위이다. 그래서 기존의 애플리케이션을 다른 환경으로 빠르게 옮겨 실행시킬 수 있다고 한다. 기존에는 어떤 애플리케이션을 작성하고 이를 다른 컴퓨터에 옮기려고..

Docker 2021.02.14