티스토리 뷰

개발냥발

오픈소스 5주차 보고서

승이버섯 2023. 10. 9. 20:38

이번 주차에서는 ‘컨테이너와 도커’에 대해서 알아보았다! 사실 둘다 내가 잘 몰랐던 생소한 개념이고 도구여서, 수업을 듣기 전에 잘 따라갈 수 있을지 막연하게 걱정이 되었었다. 하지만 수업을 들으니 컨테이너와 도커가 왜 등장하였고, 어떻게 이용하면 될지 차근차근 알 수 있었다!

(1) 컨테이너
우선 컨테이너에 대해 알아보기 전에, ‘서버의 가상화’에 대해 알아보아야 한다. 서버를 가상화하는 것은 하드웨어 기술이 발전하면서 등장하였다. 서버를 가상화함으로써 자원을 많이 활용할 수 있고, 장애가 전체적으로 퍼지는 것을 막을 수 있고, 보안도 강화할 수 있고, 자원도 신속하게 제공하고 백업도 할 수 있어서 서버의 성능이 많이 향상되었다. 하지만 성능 오버헤드, 자원 낭비, 거대한 이미지 사이즈, 느린 시작 시간이라는 단점이 있다.

컨테이너는 운영체제 수준의 가상화로, 프로세스 사이에 벽을 만들어서 하나의 OS 커널 안에서 애플리케이션이 구동되는 환경을 격리할 수 있다. 컨테이너는 인프라의 사용률을 높이고, 기동 시간을 빠르게 하고, 실행 환경이 변하지 않게 도와준다.


(2) 도커
도커는 컨테이너 기반 가상화 도구이다. 컨테이너 기반 기술의 사실상 표준으로 알려져 있으며, 애플리케이션 배포에 초점을 맞춘다. 도커는 클라이언트/서버 모델의 아키텍처를 가지고 있으며, 도커 데몬, 도커 클라이언트, 이미지, 컨테이너, 도커 레지스트리로 구성된다.



도커 데몬은 클라이언트에서 커맨드를 전달받고 도커 오브젝트를 관리한다. 도커 클라이언트는 컨테이너를 조작할 수 있는 CLI 클라이언트이고, 도커 이미지는 컨테이너를 기동하기 위한 실행 파일과 설정 파일이 묶여있는 것이다. 하나의 도커 이미지는 여러 층의 조합으로 이루어져 있고, 이미지를 만들 때에는 기반 이미지와 설치 스크립트 등을 도커 파일에 기재하여 빌드한다.
그리고 docker run 명령으로 이미지는 컨테이너로 변환되어 하나의 인스턴스가 된다.

도커 레지스트리는 컨테이너의 이미지가 보관되는 장소로, 개발한 이미지를 쿠버네티스에서 실행하기 위한 중간 창고와도 같은 존재이다. 종류에는 퍼블릭/클라우드/비공개 레지스트리가 있다.



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함