Java 기반 클라우드 융합 개발자 과정 - KH 정보교육원/10월

22.10.14 - [ Docker ] 이론( 도커, 컨테이너, 커널, 이미지 관리하기)

giggs 2022. 11. 6. 16:41

 

 

-- INDEX --

 

 

1. 도커란? 2. 도커 컨테이너 3. 커널이란? 4. 도커 이미지 관리
개발/배포/실행하기
위한 플랫폼
세팅,설치 작업 도와주는
도커
프로세스 단위
격리된 환경 제공
VMware
실제 일하는 애
WSL
이미지란?
도커허브에서 이미지 관리하기
이미지 검색 방법

 

 

 


 

 

 

1. 도커란?

  • 컴퓨터를 바꿨다거나, 운영체제를 변경한다거나 하는 상황에서
  • 새롭게 작업환경 세팅하는 게 번거롭고 힘든 일이다.
  • 이런 세팅 작업을 + 설치 작업을 편리하게 도와주는 것이 도커
  • window에서는 파일 다운로드받는게 번거로운 작업이다.
  • 눈으로 보기에는 편하지만 사이트 찾아가고, 설치 파일 다운로드하고, 설치하고 하는 과정 
  • linux에서는 명령어 입력해주면 된다. -- wget(다운로드). tar(압축풀기) 

 

 

 


 

1-1 : 도커를 활용하면 명령어 한 줄로 설치 가능

# 원래는 순서대로 코드들 입력하며 설치해주었어야했다.

# 어딘가(독허브)에 찾아가서  그 안에 작성되어있는 명령어들을 쭉 실행해준다.

 

 

 

 

# 도커로 설치하면 vm같은 어떤 게 생기고 그 안에oracle 설치된다.

# 기존의 것 삭제해도 가  기존 것도 사용할 거면 있어도 괜찮다.

 

 


 

1-2 : 도커의 구조와 특징

 

 

 

도커 엔진과 도커 데몬  이런 게 있구나 보는 정도로 알아두기

 

 

 

# 도커 클라이언트

  •  명령어를 보내고 – 응답받아오는 곳 (우리 상황에서는 cmd창, 브라우저창)

 

# 도커 레지스트리

  •  도커 허브, 이미지 저장/공유하고 있는 곳

 

# 리눅스를 많이 사용하는 이유

  •  개발 시 리눅스에서 제공하는 커널을 사용하기 위해 + 무료,
  • 윈도우는 편하지만 하드웨어를 100% 활용하기 어렵고 유료이기도 하다.
  • 리눅스 커널은 하드웨어를 최대한으로 활용할 수 있다.

 

 

 

 


 

 

 

2. 도커 컨테이너 

  • 배포 == 내가 만든 project를 tomcat 서버에 올리는 것
  • 컨테이너 : 도커의 컨테이너와 VM의 다른 점
  • > VM은 새로운 OS를 설치해서 이것저것 실행해보는 거라고 한다면
  • > 도커의 컨테이너는 하나의 어플을 실행시켜서 그 안에서 테스트해보는 느낌

 

 


 

2-1 : 리눅스 자체 기능을 사용 

  • window 커널로는 도커 작업 못한다.
  • > 윈도우에서 리눅스 커널을 사용하기 위해 WSL 설치해주었다.
  • 프로세스 단위의 격리 환경 제공 : ( = 도커의 존재 이유 )
  • > 격리 환경 : VM ware를 사용하는 것처럼 만들어준다는 것
  • > VM ware : 가상의 컴퓨터를 만들어서 OS를 설치 & 실행 테스트할 수 있게 해주는 것 / > 돌아가는 거 자체는 우리가 어떤 롤이나 오버워치 실행했을 때처럼 할당받아서 사용하는 것 > window를 실행하는 와중에 vm을 켜서 다른 OS도 실행 가능하다. / 동시에 window도 켜져 있고 linux도 켜져 있는 상황이 가능한 것이다.
  • > 도커도 VM처럼 사용하는데 동작 방식이 VM과 다르긴 하다.

 

 

 

도커는 쉬운데

도커를 사용하기 위해 packge/ linux 명령어 알아야 해서 어렵다.

 

 

 

 


 

 

 

 

3. 커널이란?

  • user –> os ( os k ) -> hardware
  • window의 경우 :사용자가 shell에 명령어 전달 –> 커널이 실제 일 수행 –> 하드웨어
  • 실제로 일을 수행하는 것은 커널
  • 따라서 우리가 운영체제를 고른다는 것은 -
  • 내가 원하는 커널을 사용하고 싶어서 고르는 것이다.

 

 


 

WSL은

  • 윈도우에서도 리눅스 커널을 사용하기 위해 설치한 것
  • 이를 활용하여 도커를 사용할 수 있게 된 것이다.

 

어제 설치했던 msi파일이 리눅스 커널을 사용하기 위해 설치한 것.

 

 

 

 

 


 

 

 

 

4. 도커 이미지 관리하기 

 

 


 

4-1 : 이미지란?

  • 객체를 만들기 위해서는 class가 필요한 것처럼 - 이미지는 class개념
  • 이미지를 가지고 컨테이너를 만들어 낸다.
  • 컨테이너를 만들기 위한 어떤 파일 == 도커 이미지

 

 

변경된 사항만 컨테이너 계층에 별도 저장

m1에 다른 거 추가하여도 이미지에 영향을 주진 않는다.

 

 


 

 

4-2 : 도커 허브에서 이미지 관리하기

 

 

 

 

  • 도커 이미지 이름 [ ] 부분은 써도 되고 안 써도 된다.
  • 저장소 이름 안 쓰면 docker.io 공식 사이트에서 가져온다고 인식
  • 버전 안쓰면 자동으로 최신 버전 가져온다.

 

 


 

4-3 : 이미지 검색 방법 

  • 공식 홈페이지 이용
  • docker search <키워드>
  • dorcker images 

 

 

사이트에서 gui 환경으로 확인