본문 바로가기

개발공부/Docker & Kubernetes 실전 가이드 강의

Udemy : Docker & Kubernetes 실전 가이드 (1)

728x90

도커란 무엇인가? 왜 사용해야 할까?

- 도커란 컨테이너 기술, 컨테이너를 생성하고 관리하기 위한 도구이다. SW 개발에서 컨테이너란, 코드 패키지를 의미하며 그 코드를 실행하기 위한 종속성과 도구를 포함하고 있다.

어떤 애플리케이션을 컨테이너로 배포한다고 하는 것은 구성 파일과 런타임, 그리고 실행하는 데 필요한 기타 도구를 포함하고 있다는 뜻이다. 함수형 프로그래밍의 목적과 같이, 항상 같은 동일한 동작과 결과를 제공한다는 장점이 있다.

 

왜 사용하는가 - 똑같은 개발환경을 갖기 위해, 특정 버전을 컨테이너에 고정할 수 있으므로 코드가 항상 정확한 버전으로 실행되는 것을 보장한다. 프로젝트를 전환할 때 버전을 제거하고 재설치하는 번거로움을 줄일 수 있다.

 

솔루션 : 가상 머신/ 가상 운영체제 ~ 도커와 컨테이너가 더 나은 선택지가 된다

- 분리된 환경을 조성할 수 있다

- 매번 새로운 가상 머신과 가상 운영체제를 설치해야하므로 리소스 소요가 크고 번거롭다, 중복 복제가 발생한다.

 

도커와 컨테이너 구조

1. 운영체제

2. OS 빌트인/ 에뮬레이트 컨테이너 지원

3. 도커 엔진

4. 다수의 컨테이너

 

솔루션 대비 컨테이너의 장점

- 운영체제에 부담이 적고, 디스크 사용량이 낮으며 빠르다

- 공유, 재구축 및 배포가 쉽다

 

윈도우 설치

Hyper V 및 컨테이너 기능을 활성화시켜야 한다 -> 홈 에디션의 경우 WSL을 사용

https://learn.microsoft.com/en-us/windows/wsl/install

 

Install WSL

Install Windows Subsystem for Linux with the command, wsl --install. Use a Bash terminal on your Windows machine run by your preferred Linux distribution - Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, Alpine, and more are available.

learn.microsoft.com

컨테이너 기능 활성화

https://kimsungjin.tistory.com/590

 

Windows 11 Windows 10 WSL2 설치하는 방법

Windows 11 Windows 10 WSL2 설치하는 방법 이번 포스팅에서는 Windows 11, Windows 10에서 WSL2(Windows Subsystem for Linux : 리눅스용 윈도우 하위 시스템) 설치 방법에 대해 알아보겠습니다. 필자도 Python 공부를 위

kimsungjin.tistory.com

이후 도커 데스크탑 설치, 설치가 완료된 후 cmd 등에서 docker 입력 시 명령어가 출력된다면 설치 완료!

 

Docker tools

- Docker Destop에서 Docker Engine의 실행을 관리할 수 있다.

- Docker Hub : 다른 사람들과 이미지를 호스팅해 공유할 수 있다.

- Docker Compose : 더 복잡한 컨테이너 또는 다중 컨테이너 프로젝트를 관리할 수 있는 도구

~ 복잡하게 컨테이너화된 애플리케이션을 배포할 때 쿠버티네스를 사용한다

 

도커 예제 실행하기

1) 도커나 컨테이너 없이 node.js 코드를 실행하기 위해 로컬에서 할 일

- 인터넷에서 언어 다운로드

- npm install을 통해 종속성 추가

2) 도커와 컨테이너를 활용

- 이미지 생성

(1) Dockerfile 생성 : 컨테이너 설정 방법 정리 ~ 포트를 노출시킨다 : 포트에서 수신하는 요청에 응답하는 웹 서버를 생성

(2) 터미널에서 docker build . 을 통해 도커파일에 따라 이미지를 빌드한다.

(3) 윈도우에서는 이미지의 ID가 출력되고 docker run ID, -p 명령어를 통해 포트를 설정하고 애플리케이션에 연결할 수 있다. 터미널이 멈추면 실행되고 있다는 뜻

트러블 슈팅 : 포트가 실행 중이지 않은 데 엑세스할 수 없는 경우

https://medium.com/@sevenall/completely-solve-the-problem-of-docker-containers-not-starting-or-running-on-windows-10-due-to-port-57f16ed6143

 

Completely solve the problem of docker containers running on Windows 10 due to port binding

Using docker as a development backend environment is really a cool thing, but an inexplicable problem on windows 10 is very maddening.

medium.com

-> TCP 동적 포트 범위를 재설정하기 : 해결!

 

실행 중인 컨테이너 보기 : docker ps

컨테이너 중지 : docker stop NAME

 

강의 아웃라인

1. 기초

1) 이미지 & 컨테이너 : 이미지 생성방법, 기존 이미지 사용방법, 컨테이너 구성방법

2) 데이터 & 볼륨 : 컨테이너에서 데이터를 관리하는 방법, 데이터 유지방법

3) 다중 컨테이너 & 네트워킹 : 컨테이너 간 통신

2. 응용

1) 다중 컨테이너 프로젝트

2) 도커 컴포즈

3) 유틸리티 컨테이너

4) 다중 컨테이너화 된 애플리케이션 배포 + AWS

3. 쿠버네티스

1) 쿠버네티스 기초

2) 쿠버네티스 : 데이터 & 볼륨

3) 쿠버네티스 : 네트워킹

4) 쿠버네티스 클러스터 배포하기

 

 

728x90