프론트엔드 개발자가 되기위한 여정 -52

이정우·2022년 10월 26일
0

frontend-bootcamp

목록 보기
55/60

밸! 하~

밸로그 여러분 안녕하세요!

오늘은 Docker에 대해서 알아볼수있도록 하겠습니다!

Docker란 무엇일까요??

1. Docker란?

먼저 도커에 대해서 설명드리기 이전에 도커가 나오게된 배경을 설명해드리겠습니다

예를들어보겠습니다

한회사에서
개발자 2명이 있습니다
한사람은 MAC을 쓰고 한사람은 window를 쓴다고 해봅시다
이러한 회사에 Linux를 쓰는 신입사원이 들어왔습니다

협업을 하기위해 설치해야할 프로그램들을 종이에적어주고
이 신입사원은 프로그램들을 설치해야했습니다

하지만 이렇게 했을경우
OS차이로 발생한 문제점들이 생겼습니다

이러한것을 해결하기위해 고민하던중

컴퓨터 내부에 컴퓨터를 실행시키자는 생각이 나왔고
이 생각대로 컴퓨터 내부에 가상컴퓨터를 만들어 linux라는 운영체제를 설치해서 작업을 하게 됬습니다

하지만 다 잘될것같았지만 문제가 있습니다
바로
컴퓨터 안에서 새로운 컴퓨터를 작동시켜야 하다보니 속도가 너무 느렸다는것입니다

그래서 나온게 바로 Docker입니다
이 도커를 사용하면
가상 컴퓨터를 사용할때 시간도 단축이 되고
또한 누군가가 도커에 설치해야할 프로그램들을 담은 OS를 올려놓으면
신입사원이 왔을때에도 도커파일 한개만 설치해서 실행한다면
순식간에 같은 환경에서도 개발을 할수있어진 것이죠!

그럼 한번 정의를 알아볼까요?

Docker컨테이너는 애플리케이션의 모든 코드 및 종속성을 표준 형식으로 패키징할수있게 해주는 컨터이너입니다!

이번에는 도커의 용어를 잠깐 설명해드리겠습니다

Docker 용어 정의

Docker:
컨테이너 기술을 활용하는 앱의 개발, 제공 및 실행을 위해 설계된 소프트웨어 컨테이너 플랫폼입니다. Docker는 엔터프라이즈 에디션과 커뮤니티 에디션 이렇게 두 가진 버전으로 제공됩니다.

컨테이너:
하드웨어 가상화를 제공하는 VM과 달리 컨테이너는 '사용자 공간'을 추상화함으로써 경량의 운영체제 수준의 가상화를 제공합니다. 컨테이너는 호스트 시스템의 커널을 다른 컨테이너와 공유합니다. 호스트 운영체제에서 실행되는 컨테이너는 코드와 모든 종속성을 패키지화하여 애플리케이션이 한 환경에서 다른 환경으로 빠르고 안정적으로 실행될 수 있게 해주는 표준 소프트웨어 장치입니다. 컨테이너는 영구적이지 않으며 이미지로부터 생성됩니다.

Docker 엔진:
컨테이너를 구축 및 실행하는 오픈 소스 호스트 소프트웨어입니다. Docker 엔진은 Oracle Linux, CentOS, Debian, Fedora, RHEL, SUSE, Ubuntu 등 다양한 Windows 서버 및 Linux 운영체제에서 컨테이너를 지원하는 클라이언트 서버 애플리케이션의 역할을 합니다.

Docker 이미지:
컨테이너로 실행될 소프트웨어 모음입니다. 여기에는 Docker 플랫폼에서 실행할 수 있는 컨테이너 생성 지침이 포함되어 있습니다. 이미지는 변경할 수 없으며, 이미지를 변경하려면 새로운 이미지를 생성해야 합니다.

Docker 레지스트리:
이미지를 저장 및 다운로드할 수 있는 공간입니다. 레지스트리는 무상태성을 갖춘 확장 가능한 서버측 애플리케이션으로 Docker 이미지를 저장 및 배포합니다.

자 오늘은 이렇게 도커에 대해서 배워봤는데
부족한 지식 오늘도 한개 채워갑니다!

자 그럼 오늘도 밸~바!

profile
주니어 프론트엔드 개발자

0개의 댓글