xtring.dev

Docker 입문 intro.(feat. 생활코딩) 본문

Infra./Docker

Docker 입문 intro.(feat. 생활코딩)

xtring 2022. 1. 2. 07:42

 

docker

 

생활코딩 Docker 입문수업 Intro

  해당 아티클과 이어지는 글들은 생활코딩 강의 스크립트를 기반으로 작성된 글이며 강의를 보는 것이 더 빠르고 이해하기 쉬울 수 있습니다.⚠️

 

[출처]생활코딩 Docker 입문수업 - 1. 수업소개

 

 

 

 

  내 컴퓨터에서 어플리케이션을 만들기 위해서는 운영체제의 여러 소프트웨어를 설치해야합니다. 예를 들어 웹 개발을 한다고 하면 웹서버나 데이터베이스 같은 것들을 설치해야하죠.
 

 

  그런데 이것들을 세팅하기 위해서 우리는 많은 시간과 노력을 사용하게 됩니다. 우리가 개발하고자 하는 어플리케이션에 필요한 웹서버나 데이터 베이스를 한번에 받아서 사용할 수 있다면 얼마나 좋을까요?

 

  이러한 형태로 전달받은 각각의 소프트웨어들을 네트워크로 통신하여 개발할 수 있다면 기존에 노력이나 고생을 하지 않을 수 있겠네요.

 

 

  그런데 이러한 형태로 환경을 구성하기 위해서는 각각 다른 OS를 통해 제공되어야 하기 때문에 컴퓨터가 세대나 필요합니다.

 

  그렇다면 우리는 하나의 컴퓨터에 가상으로 컴퓨터를 만들고 그 위에 웹서버와 데이터베이스를 설치해준다면 어떨까요?

 

 
  그런데 다시 웹서버와 데이터베이스를 운영하기 위해서 각각의 Virtual(가상) 컴퓨터에 OS를 설치해야한다면 리소스가 커진다고 생각할 수 있습니다. 또 운영체제 위에 또 다른 운영체제가 있으니 실행속도도 매우 느려질 것입니다.

 

  이를 또 다시 생각해보면 하나의 컴퓨터에서 개발하는 어플리케이션, 웹서버, 데이터베이스를 각각 실행시킬 수 있겠습니다. 각각의 앱은 그냥 실행되는 것이 아니고 격리된 환경에서 실행됩니다. 이때 운영체제가 설치된 컴퓨터를 주인이라고 해서 host라고 부릅시다. 그리고 host에 의해 실행된 각각의 실행 환경을 container라고 부릅시다.
 
  각각의 container에는 운영체제 전체가 설치 되어 있는 것이 아니고 앱을 실행하는데 필요한 라이브러리와 실행 파일들(lib, bin)만 포함되어 있습니다. 이미 존재하는 운영체제를 공유하니깐 운영체제를 직접 설치할 필요도 없고 운영체제가 하나기 때문에 속도도 느려지지 않습니다. 또 운영체제를 다시 설치하지 않아도 되기 때문에 시간도 절약할 수 있으며 저장장치의 용량도 아낄 수 있습니다.

 

 

  리눅스 운영체제에는 이렇게 환상적인 앱 실행방법이 내장되어있습니다. 그리고 이러한 기술을 container라고 부릅니다. 컨테이너 기술을 통해서 위와 같은 일을 손쉽게 해주는 소프트웨어는 여럿있습니다만 그 중에서 가장 주목받고 있는 기술은 Docker입니다.

 

  Docker(이하 도커)는 부두에서 컨테이너를 다루는 노동자들을 의미합니다. 이 튜토리얼을 통해서 우리는 도커의 최소한의 개념과 기능을 알아보게 될 것입니다.

 

 

 

 

 

  다음 아티클 바로가기

https://xtring-dev.tistory.com/entry/Docker-%EC%9E%85%EB%AC%B8%EC%88%98%EC%97%85-%EC%84%A4%EC%B9%98feat-%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9

 

Docker 입문수업 - 설치(feat. 생활코딩)

Docker 입문수업 - 설치 https://www.youtube.com/watch?v=L3ZpudSF0HU&list=PLuHgQVnccGMDeMJsGq2O-55Ymtx0IdKWf&index=2 설치 전 우리가 알아야할 것이 몇가지 있습니다. 도커와 같은 컨테이너(container) 기술..

xtring-dev.tistory.com

 

  서말의 Docker 관련 수업을 통해 Docker의 지식을 연결합니다.

 

 

 

 

 

 

반응형
Comments