Docker

박선우·2023년 1월 16일
0

CS 스터디

목록 보기
16/53
post-thumbnail

🌼 Docker

  • Go언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다.

1️⃣ 가상화

  • 모든 서비스를 한 서버안에 올린다면 안정성에 문제가 생길수도 있습니다. 그래서 안정성을 높이며 리소스도 최대한 활용할 수 있는 방법으로 나타난게 서버 가상화입니다

  • 대표적인 가상화 플랫폼으로는 VM이 있다.

2️⃣ Container

  • 격리된 공간에서 프로세스가 동작하는 기술이다.

  • OS를 가상화(리눅스에서 윈도우를 돌린다던가) 할 수 있고, 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없었다.

  • 게스트 OS가 필요하긴 하지만 전체OS를 가상화하는 방식이 아니였기 때문에 호스트형 가상화 방식에 비해 성능이 향상되었다.

  • 리눅스 컨테이너라고 하고 단순히 프로세스를 격리시키기 때문에 가볍고 빠르게 동작합니다. CPU나 메모리는 딱 프로세스가 필요한 만큼만 추가로 사용하고 성능적으로도 거의 손실이 없습니다

3️⃣ Docker Image

  • Docker Image란 컨테이너를 실행할 수 있는 실행파일, 설정 값 들을 가지고 있는 것
  • 언제든지 이 이미지를 이용한다면 동일한 컨테이너를 만들 수 있는 것이다.
  • 이미지를 변경하고 싶다면 새로운 이미지를 만들어야 한다.

4️⃣ 도커 레이어(Docker Layer)

  • 여러 개의 레이어를 나누어 이미지를 구성하게 된다.
  • 만약, layer1 : Ubuntu를 사용하고, 다른 layer 사용한다고 했을때
  • Ubuntu 이미지를 base Image로 이용하고, 그 위에 필요한 다른 layer들을 얹어서 만들 수 있다.

5️⃣ 도커 허브(Docker Hub)

  • Docker Hub는 이미지를 저장하고, 관리해준다.
  • Git hub 와 거의 동일 함.
  • 도커 허브에서 도커 이미지를 Pull 해와서 실행시킬 수 있다. 용량이 매우 큰 이미지들도 도커 허브에서 관리해주기 때문에 사용자는 부담 없이 도커 이미지를 사용할 수 있다.

출처 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html
출처 : https://code-lab1.tistory.com/236

profile
코린이 열심히 배우자!

0개의 댓글