Docker가 뭐고 왜 쓰는건가요?
오늘날 개발과 운영에 있어 정말 중요해진 도커! 🐳
하지만 그게 뭐하는건지 쉽게 알려주는 곳은 찾기 어렵죠.
허공에 떠다니는 정체불명의 물고기 복커
🐡 와 함께
도커의 간단한 개념을 알아보기로 해요.
관련 사이트 링크
-
- 도커를 소개하고 윈도우/맥용 도커 데크스탑 다운로드를 제공합니다.
-
- Git에 Github 이 있다면 Docker에는 Dockerhub! 도커 이미지들을 올리고 전세계 개발자들과 공유할 수 있는 공간입니다.
🎬 영상 주요 포인트
🐳도커 개념 설명
...
도커는 이런 문제들을 깔끔하게 해결해줘요.
먼저 각 요소들이 설치된 모습을
'이미지'란 형태로 박제해서 저장해요.
각 제품마다 공식적으로 제공되는 이미지도 있고
여러분이 원하는대로 만들어낼 수도 있죠.
Git으로 저장된 내용들이 Github에 올려지는것처럼
이 도커 이미지들은 DockerHub이란 곳에
업로드돼서 공유되고 다운받아질 수 있어요.
그리고 이렇게 이미지로 저장된 항목들이
함께 연결돼서 동작하도록 설정된 상태를
명령어 텍스트나 문서 형태로 저장할 수도 있구요.
마치 이것들을 설치하는 과정을
어디서든 컴퓨터가 자동으로 재현할 수 있도록
녹화해둔다는 느낌으로요.
그러니까 이 문서만 잘 보관해두면
이 요소들이 언제 어디서든
미리 지정된, 서비스에 필요한 설정대로
도커헙으로부터 받아져서 설치될 수 있겠죠.
도커는 이것들을 컴퓨터에 바로 설치하지 않아요.
각각을 '컨테이너'라 불리는,
독립된 가상 공간을 만들어내서 복원하죠.
때문에 아까 말했던 케이스처럼
다른 버전의 자바를 돌리는 서비스들도
각각의 컨테이너 안에서,
서로 방해받는 일 없이 돌아갈 수 있는거에요.
버추어박스같은 가상컴퓨터처럼 들릴 수도 있는데
도커는 가상 컴퓨팅하고는 또 다른 구조에요.
가상 컴퓨팅은 한 물리적 컴퓨터 안에
각각 OS를 가동하는 가상 컴퓨터들이
물리적 자원을 분할해서 쓰기 때문에
성능에 한계가 생기게 되는데요
도커는 OS단까지 내려가는게 아니라
실행 환경만 독립적으로 돌리는 거라서
컴퓨터에 직접 요소들을 설치한거랑
별 차이 없는 성능을 낼 수 있고
가상 컴퓨팅보다 훨씬 가볍고 빠르게
각각을 설치하고 실행하고
켜고 끄고 서로 연동하고 할 수가 있어요.
그래서 이제는
서버에 뭐가 잘못돼서 고쳐야 하거나,
일부를 업그레이드해야 하거나 할 때는
일일이 요소들을 정지하고
지우거나 새로깔거나 할 필요없이
그냥 이 컨테이너들을 통째로 교체해서
새로 실행해버리면 되는거에요.
서버를 관리하고 서비스들을 배포하는 일이
전과는 비교도 안 되게 쉬워진거죠.
🍿 더 자세한 내용은 영상에서 보실 수 있습니다.
유튜브에서 영상 보기