https://product.kyobobook.co.kr/detail/S000001766450
시작하세요! 도커/쿠버네티스 | 용찬호 - 교보문고
시작하세요! 도커/쿠버네티스 | 쿠버네티스와 도커의 기본 사용 방법을 정확히 이해하는 것을 목표로 합니다!도커 컨테이너는 애플리케이션을 배포하기 위한 새로운 패러다임을 제시하는 가상
product.kyobobook.co.kr
1. 도커란 무엇인가?
서버 개발자를 시작하면서 도커라는 단어를 참 많이 듣게 된다.
도커, 컨테이너, 클라우드 등등 관련된 단어를 많이 듣게 되는데 도커가 어떤 기능을 하는지,
어떨 때 쓰게 되는 지 알아보고자 한다.
도커(Docker)란 '데이터 또는 프로그램을 격리시키는 기능'을 제공하는 소프트웨어라고 이 책에서 설명한다.
이 기능은 주로 서버에서 사용되며, 개인용 컴퓨터나 서버에 여러가지 프로그램이 함께 동작하게 된다.
쉽게 설명하면 도커는 다양한 프로그램과 데이터를 각각 독립된 환경에 격리하여 함께 동작할 수 있다는 얘기다.
2. 컨테이너와 도커 엔진
도커는 컨테이너라는 기능을 가지고 있다. 컨테이너는 쉽게 설명하면 코스트코에 판매하는 조립형 창고같은 작은 방으로 분할한 모습이라고 생각하면 된다. 이렇게 작게 쪼갠 독립된 창고에 데이터나 프로그램을 두는 것을 말할 수 있는데 이런 조립형 창고를 컨테이너라고 한다.
도커를 사용하려면 도커 소프트웨어의 본체인 도커 엔진(Docker Engine)을 설치해야 하고 도커 엔진을 사용해 컨테이너를 생성하고 구동시킬 수 있다.
컨테이너를 만들려면 도커 엔진 외에도 이미지라는 것을 만들어야 컨테이너를 만들 수 있다.
이미지 종류가 아무 많은데, 소프트웨어의 종류에 따라 다양한 이미지를 사용한다. 또한, 컨테이너는 여러 개를 만들 수도 있고, 용량이 허락하는 한 하나의 도커에서 여러 개를 만들 수 있다.
3. 도커는 리눅스에서 동작된다.
도커를 사용하려면 몇 가지 제약 사항이 있다.
제일 중요한 사항은 도커는 리눅스라는 운영체제에서 동작한다.
윈도우나 macOS에서도 도커를 동작할 수 있지만 이 경우 내부적으로 리눅스가 사용된다.
또 컨테이너에서 동작시킬 프로그램도 리눅스용 프로그램이다.
그 이유는 도커가 리눅스에서 사용하는 것을 전제도 만들어졌기 때문이다.
4. 도커는 데이터나 프로그램을 독립된 환경에서 격리해야 하는 이유
도커는 주로 서버 환경을 구축할 때 격리하기 위해 사용되어 지는데, 왜 격리해야 하는 지 이해가 되지 않을 수 있다. 대부분의 프로그램은 프로그램 단독으로 동작하는 것이 아니라 어떤 실행 환경이나 라이브러리, 다른 프로그램을 이용하여 동작한다. 그렇기 때문에 소프트웨어 역시 단일 프로그램이 아니라 여러 개의 프로그램으로 구성된 경우가 많다.
처음 설계할 때는 문제가 없었던 프로그램끼리도 실제로 설치해보면 오류를 일으키는 경우도 있는데, 이러한 문제의 원인은 대부분 프로그램 간 공유에 있다.
5. 프로그램의 격리란?
도커 컨테이너는 다른 컨테이너와 완전히 분리된 환경이라고 말할 수 있다.
즉, 컨테이너 안에 들어있는 프로그램은 다른 프로그램과 격리된 상태라고 볼 수 있다.
도커 컨테이너를 사용하여 프로그램을 격리하면 여러 프로그램이 한 서버에서 실행되면서 발생하는 문제 대부분을 해결할 수 있다.
'코딩공부 > 도커 & 쿠버네티스' 카테고리의 다른 글
6. 도커의 장점과 단점 (0) | 2023.08.14 |
---|---|
5. 도커 컨테이너와 생애주기와 데이터 저장 (0) | 2023.08.13 |
4. 도커 허브와 이미지, 그리고 컨테이너 (0) | 2023.08.11 |
3. 도커의 동작 원리 (0) | 2023.08.10 |
2. 서버와 도커 (0) | 2023.08.09 |