도커란 무엇인가?

도커란 무엇인가?

What is Docker?

도커란 애플리케이션을 컨테이너로서 좀 더 쉽게 사용할 수 있게 해주는 오픈소스 프로젝트이다.

가상화 플랫폼이라고도 이야기를 하며 기존에 쓰이던 가상화 방법인 가상 머신과는 달리 하드웨어에 부하가 거의 없어서 클라우드 인프라 솔루션으로 주목을 받고 있다.

개발자에게 개발 환경을 잡는 것이 실질적인 개발보다 시간을 더 쏟는게 사실이었지만 Docker를 사용하면 환경 구성에 시간을 덜 쏟아도 된다.

기존 가상머신과 도커의 실행환경 차이

위 사진에서 같이 도커 컨테이너는 가상화된 공간을 생성하기 위해 리눅스 커널을 공유하며 실행되기 때문에 성능 손실이 거의 없다. 컨테이너 안에는 애플리케이션이 필요한 라이브러리 및 실행 파일만 존재하기 때문에 용량 및 리소스가 대폭 줄어들며 특히 배포할때 큰 이점을 발휘한다.

도커를 사용해야하는 이유

애플리케이션 개발과 배포가 편해진다

컴퓨터를 부팅할 때 실행되는 운영체제는 호스트 OS라고 불리우며 도커 컨테이너는 이 호스트 OS 위에 실행되는 격리된 공간이다. 그래서 아무리 컨테이너에 수많은 설정을 바꾸고 소프트웨어를 설치해도 해당 컨테이너는 독립된 공간에서 실행되기때문에 호스트 OS에 영향을 끼치지 않는다.

도커로 DB와 워드프레스 배포

여러 애플리케이션의 독립성과 확장성이 높아진다

기존의 애플리케이션 방식은 하나의 프로그램 내에서 구동시키는 방식인 모놀리스 (Monolith) 으로 배포가 됐다. 하지만 서비스의 기능이 복잡해지고 거대해지면 확장성과 유연성이 줄어들기 때문에 마이크로서비스 (Microservices) 방식의 애플리케이션으로 바뀌는 추세이다.

마이크로서비스 구조는 여러 모듈을 독립된 형태로 구성하여 언어와 환경에 종속되지 않고 변화에 빠르게 대응할 수 있어 애플리케이션 관리에 용이하다. 이러한 여러 모듈을 독립적으로 운영할 수 있는 핵심 기술이 바로 가상화된 컨테이너로 구성하는 것이다.

Monolithic VS Microservices

우분투 18.04 에 도커 설치

### 시스템 최신화를 위한 업데이트 sudo apt update ### 사전 설치 sudo apt install apt-transport-https ca-certificates curl software-properties-common ### Docker repository key를 add curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - ### Docker repository를 add sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" ### 시스템 reupdate sudo apt update ### docker-ce 설치하기 전 설치 가능한 버전을 확인 apt-cache policy docker-ce ### Docker 설치 sudo apt install docker-ce

다음 명령어를 실행하면 도커가 정상적으로 실행 중인지 확인할 수 있다.

sudo systemctl status docker

Docker 버전을 확인

sudo docker version

Docker start / stop / status 확인

sudo systemctl start docker sudo systemctl stop docker sudo systemctl status docker

공유하기 글 요소 저작자표시

from http://develone.tistory.com/2 by ccl(A) rewrite - 2021-09-09 00:59:05