도커란 무엇일까?

개발하는 곰댕이·2021년 5월 7일
1

Network

목록 보기
1/5
post-thumbnail

도커란?

도커는 가상화의 한 종류인 컨테이너를 이용해서 프로세스를 격리시켜주는 도구이며,
이 도커 컨테이너 안에는 규격화된 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다.

그렇기 때문에 도커를 사용한다면 우리가 작업한 애플리케이션을 환경에 구애받지 않고 신속하게 구축, 테스트, 배포를 할 수 있게 되는 것이죠.

컨테이너

사실 도커는 새로운 기술이 아닙니다.
기존에 사용하던 컨테이너 기술을 사용하기 편하게 패키징한 도구이죠.

그렇다면 컨테이너는 어떤 기술일까요??

컨테이너는 이전에 사용하던 가상화 기술의 단점을 보완해주는 가상화 기술입니다.

이전에 사용하던 가상화 방식은 호스트 OS위에 VMware나 VirtualBox같은 Hypervisor를 통해서 OS전체를 설치하는 방식으로 다른 OS를 사용했습니다. 하지만 이런 방식은 OS전체를 가상화 하는 방식이기 때문에 속도도 느리고 크기도 너무 커서 효율적이지 못 했습니다.

이를 해결하기 위해서 반가상화라는 기술을 이용해서 조금 더 성능이 향상되기는 했지만 결국 OS를 추가적으로 설치해야하는 문제는 여전히 똑같았고, 이 문제를 해결하기 위해서 컨테이너 기술이 탄생하게 되었습니다.

                                                도커와 가상머신

컨테이너 기술은 우리가 사용할 OS를 가상화하지 않고 단순히 프로세스를 격리시키는 것이기 때문에 호스트의 입장에서는 단순히 프로세스가 실행되고 있다고 보여지고, CPU나 메모리 사용도 프로세스가 실행되는데 필요한 만큼만 사용되기 때문에 기존 가상화 방식보다 훨씬 빠르고 효율적이죠.

도커는 이런 컨테이너 기술을 좀 더 사용하기 편하게 만들어서 많은 사랑을 받고 있는 것 입니다.

도커이미지


도커를 사용하기 위해서는 도커이미지를 꼭 알아두어야 합니다.
도커 이미지는 컨테이너를 만드는데 필요한 파일과 설정값들을 포함하고 있는 녀석이고, 이 설정값은 변하지 않습니다.
그렇기 때문에 언제든지 이 이미지를 이용한다면 동일한 컨테이너를 만들 수 있는 것이죠.

만약 컨테이너 안에서 변경된 내용이 이미지에 영향을 주게 된다면 우리는 항상 동일한 값을 가진 컨테이너를 만들 수 없게 되겠죠.

그렇다면 내가 필요한 파일들을 추가하고, 설정을 변경하고 싶다면 어떻게 해야할까요??

우선 기존에 있던 이미지를 실행시키고, 만들어진 컨테이너 안에서 추가하거나, 삭제하고 이 변경된 내용을 새로운 이미지로 만들어내면 됩니다.

한마디로 이미지의 설정을 변경하고 싶다면 새로운 이미지를 만들어내야 된다는 말이죠.

이렇게 만들어진 이미지들은 도커 허브에 올려두고 언제든지 사용할 수 있습니다.
마치 깃허브에 내 코드들을 올리고, 내리는 것 처럼 말이죠.

도커 명령어 정리

도커 명령어 간단 정리

참고
도커(Docker) 입문편
왜 굳이 도커(컨테이너)를 써야 하나요?
도커란 무엇일까요?
초보를 위한 도커 안내서
유니온 파일 시스템
도커(Docker)의 개요 및 장점 그리고 도커를 쓰는 이유
Docker란 무엇입니까?
What is a Container?

0개의 댓글