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은
- 윈도우에서도 리눅스 커널을 사용하기 위해 설치한 것
- 이를 활용하여 도커를 사용할 수 있게 된 것이다.
4. 도커 이미지 관리하기
4-1 : 이미지란?
- 객체를 만들기 위해서는 class가 필요한 것처럼 - 이미지는 class개념
- 이미지를 가지고 컨테이너를 만들어 낸다.
- 컨테이너를 만들기 위한 어떤 파일 == 도커 이미지
변경된 사항만 컨테이너 계층에 별도 저장
m1에 다른 거 추가하여도 이미지에 영향을 주진 않는다.
4-2 : 도커 허브에서 이미지 관리하기
- 도커 이미지 이름 [ ] 부분은 써도 되고 안 써도 된다.
- 저장소 이름 안 쓰면 docker.io 공식 사이트에서 가져온다고 인식
- 버전 안쓰면 자동으로 최신 버전 가져온다.
4-3 : 이미지 검색 방법
- 공식 홈페이지 이용
- docker search <키워드>
- dorcker images