도커란 무엇인가?

도커란 무엇인가?

서버란 무엇일까

서버는 어떤 서비스를 제공하는 것을 가리킨다.

기능적서버와 물리적인 서버로 나눈다면 굳이 나눌 수 있는데 기능적인 서버는 흔히 웹 서버, 메일 서버 같은 무슨무슨 서버 즉 무슨무슨 기능을 제공하는 서버라고 할 수 있다.

물리적인 서버는 말 그대로 실물의 서버이다. 서버는 어딘가에 물리적으로 존재하는 컴퓨터다. 물리적인 서버 하나에 기능적인 의미의 서버를 여러개 둘 수 있는 것.

서버 컴퓨터에 아파치 같은 웹서버 소프트웨어를 설치하면 웹 서버 기능을 갖추는것.

도커의 기능

도커는 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어

이 기능은 주로 서버에서 사용되고,

서버에서 아파치, MySQL 등 여러 프로그램(소프트웨어)이 함께 동작할때 이 프로그램들과 데이터를 각각 독립된 환경에 격리하는 기능을 제공

 

컨테이너와 도커엔진

컨테이너를 데이터나 프로그램을 두는 조립형 창고라고 한다면 이 컨테이너를 다루는 기능을 제공하는 소프트웨어가 도커이다.

도커를 사용하려면 도커엔진을 설치해야한다. 도커엔진을 사용해 컨테이너를 생성, 구동 시킬 수 잇다.

컨테이너를 만들려면 컨테이너의 빵틀 같은 역할을 할 이미지가 필요하다.

아파치 컨테이너를 만들려면 아파치 이미지를, MySQL 컨테이너를 만들려면 MySQL 이미지를.

용량이 되는 한 하나의 도커에서 여러 컨테이너를 올릴 수 있다.

 

제약사항:

리눅스 운영체제가 필요하다. 윈도우나 macOS에서도 도커 구동은 가능하지만 내부적으로는 리눅스가 사용된다.

컨테이너에서 동작시킬 프로그램도 리눅스용 프로그램

 

물리 서버 위에 서버 운영체제가 있고 이 위에 도커 소프트웨어가 있고 이곳 위에서 컨테이너들이 동작함

모든 컨테이너 안에는 리눅스 비슷한 프로그램이 들어있어 컨테이너 안에서 일어나는 일들을 운영체제로 전달하는 역할을 한다.

 

컨테이너의 생애주기 : 컨테이너를 만들고 실행하고 종료하고 폐기하고 다시 만들고 이런 일련의 과정들

업데이트를 할 때 기존의 컨테이너를 업데이트 시키기 보다 새로운 컨테이너로 갈아타는 경우가 많다.

컨테이너 안의 데이터들은? 도커가 설치된 물리적 서버의 디스크를 마운트해 디스크에 데이터를 저장한다.

도커와 AWS EC2의 차이점
AWS EC2에도 컨테이너와 비슷한 인스턴스가 있다. 그러나 AWS의 인스턴스는 가상화 기술처럼 독립된 컴퓨터처럼 동작
그러나 인스턴스는 AMI라는 이미졸부터 생성되므로 인스턴스를 배포하는 방법은 도커와 유사

 

 

 

 

myoskin