도커 공부 시작
도커를 처음 접해보면서 틀린 내용이 많이 포함될 수 있습니다.
글들은 따라하며 배우는 도커와 CI환경 강의를 들으면서 정리하는 것이라 뒤죽박죽에 내용이 적습니다.
필요한 부분은 앞으로 계속 수정해가면서 작성하려고 합니다.
왜 도커를 사용하는가?
도커를 쓰는 이유:
일반적으로 프로그램을 다운 받는 것과 도커를 이용해 다운을 받는 것은 용이성 및 편리성에서 확실한 차이가 있음!
* 예상치 못한 에러도 덜 발생하며, 설치하는 과정도 훨씬 간단해짐!
도커란 무엇인가?
- 컨테이너를 사용하여 응용프로그램을 더 쉽게 만들고 배포하고 실행할 수 있도록 설계된 도구이며
컨테이너 기반의 오픈소스 가상화 플랫폼임.
여기서 컨테이너는 무엇?
- 코드와 모든 종속성을 패키지화하여 응용 프로그램이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고
안정적으로 실행되도록 하는 소프트웨어의 표준 단위이다.
즉 컨테이너 안에 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의
배포 및 관리를 단순하게 해줌. AWS, Azure, GCP등 어디에서든 실행 가능하게 해줌.
도커 이미지 : 프로그램을 싱행하는데 필요한 설정이나 종속성들을 갖고있다.
도커 컨테이너 : 이미지의 인스턴스이며, 프로그램을 실행한다.
docker run hello-world를 실행하면
로컬에서 (이미지 cache)에 그러한 이미지가 없기에 도커 허브에서 가져옴!!
처음에는 unable이 뜨지만 두 번째부터는 정상적으로 hello-world가 작동함.


Docker vs VM
공통점
- 도커 컨테이너와 가상 머신은 기본 하드웨어에서 격리된 환경 내에서 애플리케이션을 배치하는 방법임.
차이점
- 도커 컨테이너가 하이퍼바이저와 게스트 OS가 필요하지 않으므로 더 가벼움.
- 가장 큰 차이점은 격리된 환경을 얼마나 격리를 시키는지의 차이.
- 도커는 다른 컨테이너와 동일한 커널을 공유함.