공부한 개념 정리하기
※ 틀릴수도있음
도커란?
도커(Docker)란 쉽게 말해 가상머신이다.
가상머신은 컴퓨터 안에 또 다른 컴퓨터를 만 수 있도록 해주는 소프트웨어이다.
가상머신은 무겁기 때문에 컴퓨터 안에 가상머신을 설치하면 컴퓨터가 느려지거나 버벅이는 문제가 발생할 수 있다. 이를 해결하기 위해 가벼운 가상머신을 만들었는데 그게 도커이다.
도커에는 컨테이너와 이미지라는 개념이 있는데, 이 개념에 대해 아는것이 중요하다.
가상머신 VS 컨테이너
도커가 가상머신이라고 했는데 가상머신과는 조금 다르다. 가상머신도 컴퓨터고, 컨테이너도 컴퓨터다.
컴퓨터를 사용하기 위해서는 운영체제를 설치해 사용해야한다.
여기서 host OS 와 guest OS 개념을 알아야하는데
지금 사용하는 내 컴퓨터에 깔려있는 기존 OS가 Host Os
가상머신 or 컨테이너로 만든 컴퓨터에 설치한 OS 가 Guest OS 이다.
가상머신의 host OS와 Guest OS 는 완전히 분리되어 있다. 그냥 아얘 서로 다른 컴퓨터이다. 그래서 가상머신 컴퓨터에 OS를 설치할때는 풀 설치를 해야한다.
도커 컨테이너 컴퓨터는 Host OS와 Guest OS가 완전히 분리되어있지 않고 커널(Kernel)을 공유한다. Host OS와 비교해서 다른 부분만 설치한다. 그래서 컨테이너 컴퓨터 안에서 명령어를 실행하면 실제로는 Host OS 안에서 실행이된다.
커널을 공유하기 때문에 시스템 자원을 효율적으로 사용할 수 있고, 생산성도 향상된다.
당연히 도커 컨테이너 컴퓨터가 더 가볍고 빠르다.
그리고 도커 컨테이너는 기본적으로 Linux 위에서만 돌아간다. 그래서 Mac 같이 리눅스를 기반으로 한 OS에서는 도커를 그냥 사용하면 되는데 윈도우에서 사용하기 위해서는 WSL 이라는 프로그램을 설치한 다음 사용해야한다.
계속.......