도커

qq·2023년 8월 19일
0

도커

목록 보기
1/1
post-thumbnail

도커란 무엇인가?

도커

도커는 데이터 또는 프로그램을 격리시키는 기능을 제공한다
우리가 현재 사용하는 컴퓨터에는 여러 기능이 함께 동작하고 있는데, 도커는 이와 같은 다양한 프로그램과 데이터를 각각 독립된 환경에 격리하는 기능을 제공한다
컨테이너는 개별 software의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반환경 또는 다른 실행환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술이다

컨테이너와 도커 엔진

소프트웨어는 OS와 라이브러리에 의존성을 띄고 있어, 하나의 컴퓨터에서 성격이 다른 소프트웨어를 한번에 실행할 때 어려움을 가질 수 있다
컨테이너는 개별 Software의 실행에 필요한 실행환경을 독립적으로 운용할 수 있도록 기반환경 또는 다른 실행환경과의 간섭을 막고 실행의 독립성을 확보해주는 운영체계 수준의 격리 기술이다.
쉽게 말하자면 작은 방이 컨테이너고 그 컨테이너를 다루는 기능을 제공하는 소프트웨어가 도커이다.

컨테이너를 만들려면 이미지가 필요하다

도커 엔진이 있어야지 컨테이너를 만들 수 있고 컨테이너를 만들려면 컨테이너의 틀과 같은 역할을 하는 이미지가 필요하다.
이미지는 담고 있는 소프트웨어의 종류에 따라 다양하게 존재한다
ex)아파치 컨테이너를 만들고 싶다면 아파치 이미지, MySQL 컨테이너를 만들고 싶다면 MySQL 이미지 사용

도커는 리눅스 컴퓨터에서 사용한다

반드시 리눅스 운영체제가 필요하다. 컨테이너에서 동작시킬 프로그램도 리눅스용 프로그램이다.

그래서 데이터나 프로그램을 독립된 환경에 격리해야하는 이유

도커는 주로 서버환경을 격리하기 위해 사용되지만 데이터나 프로그램을 독립된 환경에 격리해야하는 이유가 무엇일까?

  • 대부분의 프로그램은 프로그램 단독으로 동작하는 것이 아닌 어떤 실행 환경이나 라이브러리, 다른 프로그램과 함께 동작한다
  • 소프트웨어는 단일 프로그램이 아닌 여러 개의 프로그램으로 구성된 경우가 많다. 즉, 소프트웨어는 여러 프로그램 하나를 업데이트하면 다른 프로그램에도 영향을 미치게 된다.또한 다른 프로그램과 특정한 폴더를 공유하거나 같은 경로에 설정 정보를 저장하는 경우도 있다.

프로그램의 격리란?

도커 컨테이너를 사용해 프로그램을 격리하면 여러 프로그램이 한 서버에서 실행되면서 발생하게 되는 위와 같은 문제들을 대부분 해결할 수 있다!
시스템 A와 B의 버전이 각각 달라도 한 세트로 묶어 따로 격리시켜 사용할 수 있다

서버와 도커

도커는 서버에서 사용되는 소프트웨어이다
서버는 말 그대로 어떤 서비스를 제공하는 것이다
또한 일반적으로 한 대의 서버 컴퓨터에는 웹 서버를 한 개 밖에 실행하지 못했는데, 컨테이너 기술을 사용하면 여러개의 웹 서버를 올릴 수 있다.
컨테이너는 자유롭게 옮길 수 있다.
(사실 옮긴다기 보다는, 컨테이너의 정보를 내보내기한 다음, 다른 도커 엔진에서 복원하는 형태이다)
이는 자원의 효율성 측면에서 차이가 난다.
VM는 하나씩 늘 때마다 OS를 위한 자원을 할당해주어야 하는 반면에,
도커는 어플리케이션을 구동하는데 필요한 모든 패키지만 있으면 컨테이너를 구동시킬 수 있다.

profile
백엔드 개발자

0개의 댓글