Docker
- 고래등에 올려진 컨테이너 박스
- 프로그램과 실행에 필요한 것들을 컨테이너에 shipping
- 컨테이너를 손쉽게 이동
- 어디서나 간단하게 실행
- 도구와 환경을 제공하는 오픈 소스 프랫폼
- Linux 커널을 사용하고 있는 환경이 있다면 어디서나 작동
시작시간
- 컨테이너형 가상화에서는 컨테이너 부팅시 OS는 이미 시작하고 프로세스의 시작만 하므로 부팅 소요시간 절약
오버헤드
- 컨테이너 형 가상화 커널을 공유하고 개별 프로세스가 작업을 하는 것과 같은 정도의 시간 밖에 걸리지 않기 때문에 대부분 오버헤드가 없음
Docker와 리눅스
1) 독립된 공간 형성 -> chroot
2) isolate 기능 지원 -> namespace
3) 필요한 만큼만 하드웨어를 지원 -> cgroup
4) 만약 윈도우나 맥에서 사용할 경우 하이퍼바이저 위에 도커엔진을 설치 -> 부하 가능성
Docker 실습
- sudo apt install apt-transport-http => http 접근을 위해
- sudo apt install ca-certificates => ssl 디지털 서명
- sudo apt install curl => 특정 사이트에서 다운로드 받을 때
- sudo apt install software-properties-common => 소스코드를 받으면 자동패키지화
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add => 도커 다운로드
- sudo add-apt-repository "deb [arch=amd64] => 저장소에 url 추가, 도커 자동 연결 update
- sudo apt update
- apt-cache policy docker-ce => 도커 설치
sudo apt install docker-ce => 도커 설치
- sudo systemctl status docker => 도커 설치 확인
이미지 다운
-
sudo docker pull hello-world
-
sudo docker images
-
sudo docker run hello-world
-
sudo docker ps -a
-
sudo docker rm <컨테이너 아이디> 로 컨테이너 삭제 가능