[서버] Docker 을 이용한 배포과정 살펴보기

최동근·2023년 8월 18일
0

docker

목록 보기
1/4
post-thumbnail

안녕하세요 오늘은 Docker 을 이용해서 설계한 Spring 어플리케이션 을 클라우드 환경에 구축한 서버로 배포해보겠습니다 👨‍💻
글에 들어가기 앞서 이번 포스팅은 Docker 에 대한 선제적인 이해가 필수적입니다.
Docker 에 대한 이해가 부족하다면 제가 만든 [서버] 도커에 대해 을 꼭 읽어보시길 바랍니다❗️

🐳 들어가기 앞서

웹 개발을 한지 얼마되지 않았을 때에는 내가 만든 웹 어플리케이션을 어떻게 배포 해야 할까에 대한 의구심이 많았습니다.
배포 라는 단어가 멀게만 느껴졌었는데, 이는 배포 이 정의와 과정 및 방법에 대해 익숙치 않았기 때문이라고 생각합니다.

배포에 대해서

배포 에 대해 알아보기 전 컴파일빌드 에 대해 간략히 알아보겠습니다.

[컴파일이란 ?]

컴퓨터가 이해할 수 있는 언어로 바꿔주는 과정을 의미합니다.
즉, 개발자가 작성한 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 변경하는 작업을 의미하는데
바이너리 코드(Java 에서는 바이트 코드) 로 변환됩니다 👨‍💻
소스코드 분석 및 문법 오류 분석이 이루어지며, 컴파일러와 대조되는 개념이 인터프리터 입니다.

Java 에서는 컴파일러와 인터프리터를 둘 다 활용해 높은 호환성을 가집니다.
바이트 코드라는 중간 단계의 언어로 컴파일을 하며 JVM 상에서 인터프리터를 통해 바이트 코드를 해석하여 실행하게 됩니다❗️

[빌드란?]

개발자가 작성한 소스 코드를 컴파일 한 후, 바로 실행 가능한(Excutable) 파일이 되는것은 아닙니다.
빌드라는 과정을 거쳐야 하는데, 빌드란 실행 가능한 상태로 변환시켜주는 역할을 합니다.
Java 에서는 JVM 에서 빌드가 이루어지며, War,Jar 등의 실행 파일을 만드는 과정입니다.

  • JAR(Java Archive) : Java 에서 사용되는 압축 양식, 클래스 + 리소스파일로 구성
  • WAR(Web Archive) : 웹 어플리케이션을 압축하고 배포하는데 사용되는 파일 형태 JAR 에 비해 Servlet,XML, JSP 등 필요한 자원이 더 많다.

배포 을 이해하기 위해서는 앞서 살펴본 컴파일빌드 에 대한 선제적인 이해가 필요합니다.

[배포란?]

실행 가능한 파일을 사용자가 접근할 수 있는 환경에 배치하는 것을 말합니다.
간단하게 이야기 하자면 개발 환경에서 개발되던 소스 코드를 컴파일, 빌드 과정을 거쳐 실행 가능한 압축 파일이 생성된 것을
운영 환경(운영 서버) 에 반영하는 것을 말합니다 ❗️

배포의 다양한 방법과 과정

우리가 만든 Spring boot 어플리케이션을 클라우드 환경에 배포하는 방법에는 여러가지가 있습니다.

profile
비즈니스가치를추구하는개발자

0개의 댓글