본문 바로가기

[Docker] 도커란 무엇인가

 🐳 도커란 무엇인가?

위키백과에 따르면 도커는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트라고 한다. 리눅스에서 운영 체제 수준 가상화의 추상화 및 자동화 계층을 추가적으로 제공하는 도커는 독립적인 "컨테이너"가 하나의 리눅스 인스턴스 안에서 실행할 수 있게 함으로써 가상 머신을 시작하여 유지보수해야 하는 부담을 없애준다라고 한다.

왜 도커를 쓸까?

일반적으로 서버를 관리한다는 건 복잡하고 어려우며 개발자들의 섬세한 작업이 필요한 영역이라고 한다. 그렇기에 모두가 동일한 환경에서 서버를 관리하는 것은 상상하기 어려운 일 일수도 있다. 그럴때 우리가 만약 모두가 똑같은 환경에서 똑같이 관리를 할 수 있다면 어떨까? 도커는 개발 환경 요소들이 설치된 모습을 이미지로 저장한다고 한다. 저장한 이미지를 클라우드에 올리고, 이미지들이 서로 연결되서 동작하는 설정을 문서(Dockerfile)로 저장하며, 새 컴퓨터에 가서 복사한 문서의 내용대로 이미지를 다운받아 설치할 수도 있다고 한다. 그러면 우리는 이런식으로 동일한 환경을 제공받아 개발을 할 수 있게 되는 것이다. 가상 머신이랑 비슷하다고 볼 수 있지만 가상머신보다 훨씬 빠르고, 자원을 효율적으로 사용이 가능하다고 한다. 또한 도커에는 불필요한 추가적인 운영체제 설치가 필요 없습니다.

이미지 출처 : https://subicura.com/generated/assets/article_images/2017-01-19-docker-guide-for-beginners-1/vm-vs-docker-1000-895d2c06e.webp

 

도커 허브에서는 npm 다운 받는 것처럼 다른 사람들이 올려놓은 이미지를 다운로드 하는 것이 가능하다고 한다. 또 한 컴퓨터에서 다른 환경의 여러 서비스를 실행해야 하는 경우, 컨테이너로 분리되어 있기 때문에 서로 독립되어 실행시키는 것 또한 가능하다고 한다.

 

도커의 이미지란? (사진 출처 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html)

도커의 이미지가 뭐야?

이미지는 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것으로, 상태값을 가지지 않고 변하지 않는다고 한다. 컨테이너는 이미지를 실행한 상태라고 볼 수 있고 추가되거나 변하는 값은 컨테이너에 저장되게 되는데 같은 이미지에서 여러개의 컨테이너를 생성할 수 있고 컨테이너의 상태가 바뀌거나 컨테이너가 삭제되더라도 이미지는 변하지 않고 그대로 남아있다고 한다. 이미지는 컨테이너를 실행하기 위한 모든 정보를 가지고 있기 때문에 더 이상 의존성 파일을 컴파일하고 이것저것 설치할 필요가 없다고 한다.

 


참조 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

초보를 위한 도커 안내서 - 도커란 무엇인가?

도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이

subicura.com

'📖 TIL > Tool' 카테고리의 다른 글

[🔄] husky가 무엇일까  (0) 2022.02.26
[🧹] ESLint와 Prettier에 대해 알아보자  (0) 2022.02.20
[🔄️] Git과 GitHub  (0) 2022.02.13