오늘은 Docker에 대해 배웠다. 생긴건 귀엽게 생겼는데... 이 친구 귀여운거와는 달리 도커를 왜 쓰는지, 어떤 장점이 있는지 등 도커 자체를 이해하는데만 해도 꽤 많은 시간을 보내야만 했다. 실습은 한개의 도커를 다루는 방법, 두 개 이상의 도커를 다루는 방법을 했다. 늘 그렇듯 어려웠지만, 페어와의 합심으로 코딩으로 불금을 보냈다. 도커로 이런 재미난것을 할 수 있다.
🎃 도커 컨테이너 방식의 장점
1.의존성 충돌 문제를 해결해 준다.
2.개발과 배포 환경을 일치시킨다.
3.수평 확장을 쉽게 해준다.
4.각 서버에 새로운 내용을 배포하기 쉽게 만들어준다.
이미지
실행되는 모든 컨테이너는 이미지로부터 생성. 이미지는 애플리케이션 및 애플리케이션 구성을 함께 담아놓은 템플릿으로, 이를 이용해 즉시 컨테이너를 만들 수 있다.
이미지를 이용해 여러 개의 컨테이너를 생성할 수 있다. 이를 이용해 앞서 설명한 애플리케이션의 수평 확장이 가능하다.
이미지는 기본 이미지(base image)로부터 (마치 git을 사용하는 것처럼) 변경 사항을 추가/커밋해서 또 다른 이미지를 만들 수도 있다. 예를 들어 node.js로 작성된 애플리케이션을 이미지로 만들고 싶은 경우, nodejs 이미지를 기본 이미지로 삼고 내가 만든 애플리케이션을 추가해 넣고, 이미지화할 수 있다.
레지스트리
이미지는 레지스트리에 저장된다. 대표적인 이미지 레지스트리로는 Docker Hub, Amazon ECR이 있다. 도커 CLI에서 이미지를 이용해 컨테이너를 생성할 때 호스트 컴퓨터에 이미지가 존재하지 않는다면, 기본 레지스트리로부터 다운로드 받게 된다.