2025/05 (7) 썸네일형 리스트형 도커와 방법론 도커와 방법론 지금까지 도커 관련 포스트에서 알 수 있든 도커는 컨테이너 방식으로 서버를 가상화 합니다. 기존 레거시 방식의 프로젝트에서는 VM과 같은 하이퍼 바이저 방식만을 사용한 가상화 서버에 서비스를 배포하는 형태의 프로젝트 들이 많았지만, 도커가 최근 개발 진영에서 핫한 이유는, 애플리케이션의 기능의 세분화/경량화를 점점 추구하는 형태로 진화했기 때문입니다. 세분화/경량화를 중요성이 장조되는 현대 개발에서 가장 추구하는 서버 구성은 클라우드 네이티브 방식입니다. 전통적인 IDC 방식만을 고집하는 것이 아니라 리소스를 필요에 따라 유연하게 구성하는 클라우드 방식을 적용이 점점 더 각광받기 시작했고, https://dkkim2318.tistory.com/102 클라우드 컴퓨팅클라우드 컴퓨팅? .. 도커 가상 네트워크 가상 네트워크 네트워크란 서로 연결된 데이터나 자원을 주고 받는 통신망입니다. 가장 대표적인 네트워크는 인터넷 입니다. 같은 인터넷망에 접속한 사용자라면 누구나 서로 통신을 주고 받는 것이 가능합니다. 네트워크는 실제로 케이블로 연결된 하나의 물리적 망이지만 도커와 같이 서버를 가상화 하는 프로그램에서는 서버의 가상 네트워크라는 개념이 들어갑니다. 네트워크는 물리적 H/W 구성이 필요합니다. 간다하게만 생각해봐도 하나의 여러 통신망의 서버를 연결 하기 위해선 스위치, 라우터, NIC, NAT장비 등등 여러가지 물리적 구성이 필요합니다. 하지만 도커는 한대의 물리적 서버의 여러개의 논리적 서버처럼 구성한 가상화 솔루션 입니다.https://dkkim2318.tistory.com/139 Docker .. MSA MSA(Microservice Architecture)백앤드 개발자라면 최근 MSA 방법론에 대해 굉장히 많이 들어봤을 것이라 생각합니다. 최근 개발 프로젝트에서 가장 핫한 방법론이며, 특히 백앤드 개발에서 많이 사용되는 방법론 입니다. MSA 란 Microservice Architecture의 약자로 말 그대로 작은 서비스 구조 입니다. 마이크로서비스란 작고 독립적으로 배포 가능한 각각의 기능을 수행하는 서비스를 의미하며, 하나의 프로젝트 안에서도 각가의 마이크로서비스를 독립적으로 개발/테스트하고 배포가 가능 한 구조라고 볼 수 있습니다. 예를들어 쇼핑몰 웹서비스를 개발한다고 가정해 봤을때 클라이언트 관점에서는 그냥 하나의 웹 서비스 이지만, 회원가입/로그인, 구매, 카테고리별 쇼핑 기능, 결재.. 멀티 스테이지 빌드 멀티 스테이지 빌드 멀티 스테이지 빌드(Multi-statge build) 란 도커 파일 내 여러 개의 빌드 단계를 정의하여 이미지를 생성하는 방법입니다. 모두다 알다시피 빌드라는 행위는 애플리케이션이 동작하기 위해 필요한 요소들을 구성합니다( 라이브러리, 런타임, 툴 등등...). 이미지를 빌드 할 때는 이 구성요소들을 구성할 단계를 코드로 정의해야 하죠. 하지만 이 모든 단계가 애플리케이션을 실행하기 위해 최소한으로 필요한 것은 아닙니다. 빌드라는 행위는 결국 이미지를 만드는데는 필요하지만, 최종 컨테이너 이미지에는 필요 하지 않은 부분이 존재합니다. 예를 들어 스프링 프로젝트를 .jar 파일로 빌드한다고 생각해 봤을 때 maven 또는 gradle 같은 빌드 도구와 자바 컴파일러를 통해 빌.. 도커파일 지시어 도커파일 도커파일은 이전 이미지 빌드 관련 포스트에서 언급 했듯이, 이미지를 빌드하시 위한 용도로 작성된 파일을 의미합니다. https://dkkim2318.tistory.com/146 이미지 빌드이미지를 만드는 방법 이미지를 만드는 방법은 현재 실행 중인 컨테이너 그 상태 그대로 이미지로 만들어 내는 이미지 커밋 방식과 도커 파일을 통해 이미지를 저장하는 이미지 빌드 두가지 방dkkim2318.tistory.com생성할 이미지에 대한 정보를 기술해 둔 특성을 지니고 있기 때문에 도커 템플릿으로 불리기도 합니다. 도커파일 의 지시어 도커파일은 명령어가 순차적으로 나열 된 형태로 작성 합니다. 주요 명령어에 대해 살펴보면 아래와 같습니다.FROM : 베이스 이미지를 지정 - 일반적으로 이미지를 생성할.. 이미지 빌드 이미지를 만드는 방법 이미지를 만드는 방법은 현재 실행 중인 컨테이너 그 상태 그대로 이미지로 만들어 내는 이미지 커밋 방식과 도커 파일을 통해 이미지를 저장하는 이미지 빌드 두가지 방법이 있습니다. 정확히 말하자면 이미지 빌드도 이미지 커밋 방식을 포함한다고 볼 수 있지만, 실행중인 상태를 저장하느냐 아니냐에 따라 두가지고 분류 된다고 보면 됩니다이미지 커밋 : 현재 컨테이너 상태를 이미지로 저장이미지 빌드 : Dockerfile을 통해 이미지를 저장 이미지 커밋이미지 커밋은 현재 컨테이너 상태를 이미지로 저장합니다. 보통 이미지 커밋을 사용하는 경우는 이미지로 띄운 컨테이너 동작 확인 중 수정사항이 발생하였을 경우 사용 되게 됩니다. 이미지 커밋의 과정은 아래와 같습니다.이미지를 컨테이터로 실.. 이미지와 레이어 레이어드 구조레이어드 구조는 층을 가진 구조를 의미 합니다. 레이어란 여러개의 층으로 이루어진 구조 중 하나의 층을 의미하는 단어이며 도커의 이미지는 이러한 레이어 들의 집합으로 구성 되어 있습니다. (즉 도커 이미지는 레어어드 구조) 일반적으로 docker hub 와 같은 이미지 레지스트리에서 docker 이미지를 다운로드 받을 경우 하나의 파일을 다운 받은 것처럼 보이지만 실제로는 여러 레이어들을 다운받아 모여 하나의 이미지로 구성 되어 있는 것으로 볼 수 있습니다. 레이어드 구조를 사용하는 이유 레이어드 구조는 여러 층을 가진 구조 입니다. 왜 도커에서는 이러한 구조를 사용하여 이미지를 구성하는지 이해하기 위해선 이미지의 불변성에 대한 이해가 있어야 합니다. 도커의 이미지는 일종의 압축파일.. 이전 1 다음