"컨테이너 모두 닫기"
[MacOS]
[Windows]
(PowerShell에서 실행)
Docker: 컨테이너를 관리하기 위한 소프트웨어
Container: 큰 서버를 효율적으로 나눠서 쓰기 위한 가상화라는 기술
Application Server
어떤 소프트웨어가 실행중인지에 따라 서버 종류가 달라짐
파일서버 / DB서버 / 웹서버/웹애플리케이션 서버
웹서버 : 브라우저를 통해 정적인 웹서비스 제공
엔지닉스
웹 백엔드 어플리케이션 서버 - WAS
베어메탈 - 서버 구입 - OS설치 - 여러개의 소프트웨어 실행
하이퍼바이저 -VM
컨테이너 - 도커 (인프라 운영 - 높은 수준의 추상화 기술 - 다루기 더 쉬워짐 -> 개발-운영 경계를 허무는 데브옵스 문화 확산&소스코드로 인프라를 운영하는 IAC 기술 현업활용 다수 /MSA 구조 -개발자가 소스뿐만 아니라 실행환경 역시 중요하게 고려해야할 기술 )
스토리 서버기술에 대한 지식 필요
하드웨어 성능 증가 & 소프트웨어의 요구 사항 감소
가상화는 성능 높은 하드웨어 한 개 >>> 성능 낮은 하드웨어 여러개
사용자가 CPU,Mem 등 설정 가능
가상환경 만들 때 마다 디스크 공간 차지
물리적 OS = 호스트 OS => 호스트OS 에서 격리해서 하이퍼 바이저 설치하고 게스트 OS 설치함
엔터프라이즈 환경
서버에 호스트OS설치 - 하이퍼 바이저 설치 - 게스트OS설치
호스트와 게스트OS가 다르면 System call 처리 불가
하이퍼 바이저가 통역가 역할 가능
ex) 윈도우OS(라이센스가 비싸고 돌릴 때 무거움)에서 리눅스 OS 환경을 돌릴 때
하이퍼 바이저는 vmware, Virtual Box, Red Hat 등이 있다.
컨테이너 가상화 - 가볍고 빠르다
LXC : 리눅스 커널의 자체 격리 기술 사용
Namespace :나눌 수 있는 단위 저의
CGroups: 리소스 사용량 배분 지정
모든 컨테이너가 하나의 커널을 공유
호스트OS 커널을 그대로 사용해서 하이퍼방식보다 오버헤드가 적다 (하드웨어 리소스 사용 요청이 더욱 효율적으로 이루어지고 있다는 뜻)
각각의 컨테이너들은 호스트 OS커널을 공유하기 때문에 부팅이 빠르다.
다만, 커널을 독립적으로 가지고 있는 가상머신이 보다 보안면에서 뛰어남.
컨테이너는 호스트 OS와 다른 OS는 이용은 불가능하다.
커널이 자체적으로 제공하는 가상화 기술은 사용자가 직접 사용하기 어려워서
도커를 이용한다.
격리를 수행하는 주체는 도커가 아닌 커널 자체
도커는 가상화 기술을 사용할 수 있게 도와주는 보조 도구