- Go언어로 작성된
리눅스 컨테이너 기반
으로하는 오픈소스가상화 플랫폼
이다.
모든 서비스를 한 서버안에 올린다면 안정성에 문제가 생길수도 있습니다. 그래서 안정성을 높이며 리소스도 최대한 활용할 수 있는 방법으로 나타난게 서버 가상화입니다
대표적인 가상화 플랫폼으로는 VM이 있다.
격리된 공간에서 프로세스가 동작하는 기술이다.
OS를 가상화(리눅스에서 윈도우를 돌린다던가) 할 수 있고, 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없었다.
게스트 OS가 필요하긴 하지만 전체OS를 가상화하는 방식이 아니였기 때문에 호스트형 가상화 방식에 비해 성능이 향상되었다.
리눅스 컨테이너
라고 하고 단순히프로세스를 격리
시키기 때문에 가볍고 빠르게 동작합니다. CPU나 메모리는 딱 프로세스가필요한 만큼만 추가로 사용
하고 성능적으로도 거의 손실이 없습니다
Docker Image란 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있는 것
언제든지 이 이미지를 이용한다면 동일한 컨테이너를 만들 수 있는 것이다.
이미지를 변경하고 싶다면 새로운 이미지를 만들어야 한다.
여러 개의 레이어를 나누어 이미지를 구성하게 된다.
만약, layer1 : Ubuntu를 사용하고, 다른 layer 사용한다고 했을때
Ubuntu 이미지를 base Image로 이용하고, 그 위에 필요한 다른 layer들을 얹어서 만들 수 있다.
Docker Hub는 이미지를 저장하고, 관리해준다.
Git hub 와 거의 동일 함.
도커 허브에서 도커 이미지를 Pull 해와서 실행시킬 수 있다. 용량이 매우 큰 이미지들도 도커 허브에서 관리해주기 때문에 사용자는 부담 없이 도커 이미지를 사용할 수 있다.
출처 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
출처 : https://code-lab1.tistory.com/236