https://www.youtube.com/watch?v=Bhzz9E3xuXY
vmware는 virtualization해서 컴퓨터를 새로 만드는 것
linux의 컨테이너 기술을 이용해 가상화를 하지 않고 프로세스만 격리해서 빠르게 실행시키는 기술
새로 운영체제를 깔아서 독립적인 환경을 세팅하는 것이 아니고
기존의 운영체제 안에서 프로세스를 격리시키는 기술을 이용해
마치 가상머신을 설치한 것과 거의 동일한 효과를 냄
virtual machine을 쓸 경우 용량을 크게 차지하고 느림. 쪼개 쓰기 때문에
도커는 프로세스를 격리만할뿐 os를 안에서 띄우지 않고 기존의 시스템을 공유함
99.8%
도커는 무조건 관리자 권한(sudo)으로 실행해야 함
도커와 도커허브의 관계는 깃과 깃허브의 관계와 비슷하다
이미지: 실행 파일과 라이브러리가 조합된 것을 이미지 파일로 만들어놓은 것
컨테이너: 이미지를 실행한 상태. 운영체제의 프로세스 같은 것.
docker run -i -t 이미지이름:태그 /bin/bash
-i: interactive. 사용자가 입출력을 할 수 있게 한다는 뜻
-t: sudo otty? 가상 터미널환경을 에뮬레이션 해준다는 뜻
우분투같이 운영체제를 띄우는 경우에는 항상 -i와 -t 옵션을 준다.
docker run -d --name hello 이미지이름:태그
사용자가 입출력할 필요가 없기 때문에 -i와 -t 옵션을 줄 필요가 없고
-d 옵션을 주어서 백그라운드에서 실행하게 함
--name 옵션을 주어서 hello라는 이름을 설정해 줌
도커는 메인 실행 파일을 지정을 해 주어야 함
컨테이너 안의 실행 파일을 실행해서 실행 상태를 만들어야 컨테이너가 유지가 됨
메인 실행 파일이 실행이 종료되면 컨테이너도 종료가 됨
컨테이너 안에서 파일을 설치하거나 삭제하는 것은 이미지에는 전혀 영향을 끼치지 않음