[docker] 2022_09_14(보완)

HWANGKYOJIN·2022년 9월 14일
0

docker

목록 보기
1/2
post-thumbnail

구글위키백과에 도커를 검색해보면 아래의 내용이 검색된다.

도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.

도커 웹 페이지의 기능을 인용하면 다음과 같다:

도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다.

출처: https://ko.wikipedia.org/wiki/%EB%8F%84%EC%BB%A4_(%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4)

우리가 도커를 사용하는 가장큰 이유는 위의 설명 중 마지막 줄인 [이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다] 이다.

사용자가 서버에 접속하기 위해서는 서버는 24시간 켜져있어야 한다. 그리고 서버를 운영하다 보면 A서버를 운영 중 서버를 증설 할 필요성이 있어 B서버를 증설 후 B서버에 필요한 프로그램들을 설치하고 서버를 구축하였으나(A서버와 같이) A서버는 잘 작동하는데 B서버는 작동이 안 될 수 도 있다. 그리고 A서버는 구축한지 오래되어 A서버를 구축한 직원 또한 없다면 어디에서 오류가 나는지 확인하기 까지는 엄청난 시간이 소요 될 것이다. 그리고 같은 프로그램이라고 하더라도 운영체제(윈도우,맥,리눅스)마다 설치된 버전에 따라 각각의 오류를 발생 할 수 있다. 이러한 단점을 보완할수있는 것이 바로 도커이다. 도커는 리눅스 기반의 가상의컴퓨터인데 이 가상의 컴퓨터안에 필요한 프로그램의 버전을 통일시키고, 리눅스라는 운영체제를 통일시키고 내 컴퓨터에서 가상의컴퓨터에 접속하면 실행 중인 환경에 관계없이 언제나 동일한 환경에서 서버를 작동 할 수 있다. 또한 회사에 직원이 충원될 경우에도 그 직원에게 일일히 어떤프로그램은 어떤버전을 사용하고 어떤프로그램은 어떤 버전을 사용하고 일일히 안내하여 동일한 버전을 통일시켜 작업 할 필요없이, 필요한 프로그램들을 이미지로 구어 명령어만 입력해주면 모든 사람이 동일한 환경내에서 작업 할 수 있게 된다.

VM(Virtual Machine)과 컨테이너(Container)의 차이

우리는 내가 사용하는 운영체제 이외의 다른 운영체제를 사용 하기 위해서 가상머신을 종종사용하곤 한다. 하지만 이는 새로운 운영체제 OS까지 다시 설치해야하는 작업으로 시간이 굉장히 오래 걸린다. 하지만 도커는 가상머신과 같이 전체OS를 새로 설치하는 방식이 아닌 핵심커널부분은 host의 커널을 공유하여 사용하므로 가상머신보다 더 빠른 속도를 제공한다.

이정도 부분까지 학원에서 배운내용 및 내가 인터넷에서 찾은 내용이다. 간략하게 왜 도커를 사용하고 도커와 가상머신과의 차이점에 대해서는 이해가 됬으나 세부적인 도커에서 사용하는 컨테이너 기술에 대한 부분까지는 아직 공부하지 못했다. 사실은 잃어보기는 했으나 무슨말인지 이해가 가지않는다. 추후 보완하여 이어서 작성해볼 예정이다.

0개의 댓글