본문 바로가기

컨테이너3

도커 작동원리 오늘날 애플리케이션은 컨테이너화된 버전이 있는것들이 많다. 많은 기관에서는 자사 제품을 컨테이너화 해서 docker Hub라는 퍼블릭 docker 보관소에 공개하고있다. OS, DB, 서비스, 툴 등을 찾을 수 있고 이미지를 찾아 호스트에 docker를 설치하면 docker run 명령어에 이미지 이름만 붙이면 애플리케이션을 손쉽게 실행할 수 있다. 이미지 vs 컨테이너 이미지는 VM템플릿과 같은 패키지 또는 템플릿으로 컨테이너를 만드는데 사용되며 컨테이너는 서로 분리된 이미지 인스턴스가 실행되는 곳으로 각각의 환경과 프로세스들을 지니고 있다. 만약 찾는 이미지가 없다면 이미지를 직접 만들어 docker Hub에 올려서 다른 사람들과 공유할 수도 있다. 과거에는 개발자들이 애플리케이션을 직접 개발하고 운.. 2023. 1. 18.
도커 컨테이너 vs 가상머신 먼저 docker 도식이다. 제일 아래에 하드웨어 인프라가 있고 그 위에 운영체제가 있고 그 위에 docker가 설치되어 컨테이너를 관리한다. 하이퍼바이저가 하드웨어 위에 있고 그 위에 가상머신이 있다. 각각의 가상머신에는 각각의 운영체제와 의존성,애플리케이션이 설치되어있다. 이러한 구조는 기반 리소스를 많이 사용하는데 여러개의 가상운영체제와 커널이 실행되기 때문이다. docker 컨테이너는 가볍고 MB단위의 용량만을 차지하므로 몇 초만에 docker 컨테이너를 부트할수 있지만 가상머신은 무거워서 용량을 많이 차지하고 그 단위가 GB에 달하고 운영체제 전체를 부트해야하기 때문에 시간이 많이 걸린다. 그리고 한 가지 중요한 점은 docker가 완전히 분리되지 못한다는 점이다. 이는 컨테이너 간 공유하는 커.. 2023. 1. 18.
도커, 컨테이너 컴포넌트를 실행할 때, 각자의 의존성과 라이브러리를 갖춘 분리된 컨테이너를 활용해 같은 가상머신과 운영체제에서 환경과 컨테이너를 분리할 수 있다. 그 덕에 docker 설정을 한 번만 하면 개발자들이 개발을 시작할 때, docker 실행 명령어 하나면 운영체제에 상관없이 진행할 수 있다. 각자의 시스템에 docker만 설치되어 있으면 된다. 컨테이너 완전히 분리된 환경으로, 각자의 프로세스, 서비스, 네트워크 인터페이스, 마운트를 가상 머신처럼 가지고 있지만 동일한 운영체제 커널을 공유한다. 운영체제의 기본 개념 Ubuntu, Fedora, SUSE, CentOS 같은 운영체제는 운영체제 커널과 소프트웨어 두 가지로 구성되어 있다. 운영체제 커널은 기반 하드웨어와 상호작용하는 역할을 하며 Linux인 운.. 2023. 1. 18.