이미지를 빌드하기 위해서는 build 명령어를 사용해야 합니다. 또한 빌드를 하기 위해서는 Dockerfile을 필요로 합니다. Dockerfile을 사용하여 이미지로 빌드할 때 사용하는 명령어에 대해서 알아보겠습니다. Dockerfile 빌드 기본적으로 Dockerfile을 빌드하기 위해서는 다음 명령어를 입력해야 합니다. Dockerfile이 존재하는 경로를 찾아 원하는 이미지명을 지정하여 이미지를 생성할 수 있습니다. $ docker build -t 이미지명 Dockerfile경로 위의 명령어는 빌드를 할 때 필요로 하는 도커파일의 이름을 Dockerfile로 인지하고 있습니다. 따라서 별도로 도커파일의 이름을 지정해주지 않았습니다. 그러나 도커파일명이 항상 Dockerfile 일 수가 없습니다. ..
새로운 이미지를 생성하는 방식으로 commit과 build 2가지 방법이 존재한다. Commit 방식은 현재 컨테이너의 상태를 이미지로 만드는 것이고, Build 방식은 Dockerfile을 만들고 이것을 이미지로 만드는 방식이다. 이미지 Commit Commit 방식은 컨테이너의 현재 상태를 이미지로 만드는 방식이다. 즉 컨테이너의 변경 사항을 이미지로 저장하는 방식이다. 컨테이너에서 변경된 파일 시스템의 스냅샷을 촬영하여 새로운 이미지를 생성한다. 여기서 스냅샷이란 해당 컨테이너의 파일 시스템과 생타를 특정 시점에서 저장하는 것을 말한다. 해당 시잠의 상태를 기록함으로써 컨테이너 상태를 복원하거나 이미지로 저장할 수 있다. Nginx 이미지로 생성한 컨테이너에 대해서 commit을 수행하는 과정은 다..
도커 컨테이너를 생성하기 위해서는 이미지가 필요로 합니다. Public 레지스트리에 저장된 이미지를 검색하여 다운로드할 수 있습니다. 우리가 다운로드한 이미지는 레이어 구조로 형성되어 있습니다. 이번 글에서 레이어의 개념에 대해서 알아보겠습니다. 이미지 레이어 Public 레지스트리에 업로드되어 있는 Nginx 이미지를 다운로드하여 보겠습니다. // nginx 이미지 다운로드 $ docker pull nginx 터미널에서 nginx 이미지를 다운로드하면 다음과 같이 레이어 구조를 볼 수 있습니다. 사실 Nginx 이미지 또한 레이어 구조로 생성된 이미지입니다. 이미지를 레이어 구조로 생성하는 이유는 다음과 같습니다. 공유 및 재사용 : 각 레이어는 독립적으로 관리되기 때문에 여러 application..
클라이언트-서버 구조 서비스 요청자인 클라이언트와 서비스 자원의 제공자인 서버 구조이다. 이는 분산 애플리케이션 구조이자 네트워크 아키텍처를 나타낸다. 클라이언트 : 서비스를 사용하는 사용자 혹은 사용자의 단말기 서버 : 서비스를 제공하는 컴퓨터 Docker 아키텍처 Dockdr는 클라이언트-서버 모델로 이루어져 있습니다. 요청과 응답을 하는 흐름은 다음과 같습니다. 클라이언트는 명령어를 실행하여 서버에 요청하게 됩니다. 서버에 요청된 명령어는 도커 데몬(Docker Daemon)이 전달받아 요청을 처리합니다. 여기서 데몬이란 서버에서 지속적으로 실행되는 소프트웨어를 의미합니다. 즉 Host OS에서 지속적으로 실행되면서 클라이언트의 요청을 받아 처리합니다. 위에서 클라이언트가 명령어를 실행했습니다. 예..
엔터프라이즈 운영 방식 들어가기 앞서 엔터프라이즈 서버가 운영되는 방식에 대해 알아보자. 아래와 같이 Baremetal, Hypervisor 그리고 Container 방식이 존재한다. Baremetal : 실제 시스템을 임대하는 클라우드 서비스의 한 형태이다. 가상머신을 기반으로 하는 기존 클라우드 컴퓨팅과 달리 하이퍼바이저가 없으며 서버 인프라에 대한 완전한 제어력을 행사할 수 있다. Hypervisor : 가상 머신을 생성하고 구동하는 소프트웨어이다. 호스트OS와 게스트 OS를 분리하고 그 사이에서 리소스를 관리한다. Container : Docker에서 사용하는 방식이다. 가상화 기술 가상화란 서버, 스토리지, 네트워 크 및 물리적 시스템에 대한 가상 표현을 생성하는데 사용하는 기술입니다. 예를 들..