Spring Boot 애플리케이션을 Docker화하려면 애플리케이션과 해당 종속성을 포함하는 Docker 이미지를 생성해야 합니다. 이를 통해 Docker가 설치된 모든 시스템에서 쉽게 공유하고 실행할 수 있는 방식으로 애플리케이션을 패키징할 수 있습니다. 다음은 Maven 기반 Spring Boot 애플리케이션을 Docker화하고 Docker 컨테이너에서 실행하기 위한 단계별 지침입니다.
1단계: Docker 설치
먼저 로컬 컴퓨터에 Docker가 설치되어 있는지 확인하세요. Docker 공식 홈페이지에서 다운로드 받으실 수 있습니다. 운영 체제에 맞는 설치 지침을 따르세요.
1단계를 완료했다면 2단계를 따르세요
2단계: Dockerfile 생성
Spring Boot 애플리케이션의 루트 디렉터리(pom.xml 파일이 있는 위치)에서 파일 확장자가 없는 Dockerfile이라는 파일을 만듭니다. 이 파일은 Docker 이미지를 정의합니다.
다음은 Dockerfile의 모습을 보여주는 간단한 예입니다.
참고: 여기서는 몇 가지 문제가 발생할 수 있습니다. 해결해 보세요. 크지 않아야합니다. 예를 들어 > 오류 [내부] docker.io/library/maven:3.8.6-openjdk-17에 대한 메타데이터 로드
3단계: Docker 이미지 구축
터미널(명령 프롬프트 또는 셸)을 열고 Dockerfile이 포함된 디렉터리로 이동합니다. Docker 이미지를 빌드하려면 다음 명령을 실행하세요.
docker build -t 이미지 이름 .
your-image-name을 Docker 이미지에 부여할 이름으로 바꾸세요.
4단계: Docker 이미지 확인
빌드가 완료된 후 이미지가 성공적으로 생성되었는지 확인하세요.
도커 이미지
출력에 이미지가 나열되어야 합니다.
5단계: Docker 컨테이너 실행
이제 다음 명령을 사용하여 Docker 컨테이너를 실행할 수 있습니다.
docker run -p 8080:8080 이미지 이름
이 명령은 컨테이너의 포트 8080을 호스트 시스템의 포트 8080에 매핑합니다. your-image-name을 이미지를 만들 때 사용한 이름으로 바꾸세요.
6단계: 애플리케이션 테스트
웹 브라우저를 열고 http://localhost:8080으로 이동하여 Spring Boot 애플리케이션에 액세스할 수 있습니다. 모든 것이 올바르게 설정되면 애플리케이션이 실행되는 것을 볼 수 있습니다.
7단계: Docker 이미지 내보내기
인터넷에 접속할 수 없는 다른 팀과 Docker 이미지를 공유하려면 이미지를 tar 파일로 저장할 수 있습니다.
docker save -o 이미지 이름.tar 이미지 이름
이렇게 하면 다른 팀의 VM으로 전송할 수 있는 Docker 이미지의 tarball이 생성됩니다.
8단계: 대상 머신에 Docker 이미지 로드
다른 팀이 your-image-name.tar 파일을 받으면 다음 명령을 사용하여 이미지를 Docker 환경에 로드할 수 있습니다.
docker load -i your-image-name.tar
9단계: 대상 시스템에서 Docker 컨테이너 실행
이미지를 로드한 후 다른 팀은 동일한 명령을 사용하여 컨테이너를 실행할 수 있습니다.
docker run -p 8080:8080 이미지 이름
10단계: 애플리케이션 액세스
이제 대상 시스템의 http://localhost:8080에서 애플리케이션에 액세스할 수 있습니다.
추가 참고사항
데이터베이스 구성: 애플리케이션이 PostgreSQL을 사용하는 경우 PostgreSQL 컨테이너를 설정하거나 애플리케이션에서 데이터베이스에 액세스할 수 있는지 확인해야 할 수 있습니다. Docker Compose 파일을 생성하여 여러 컨테이너(예: 앱용 하나, PostgreSQL용 하나)를 관리할 수 있습니다.
환경 변수: 애플리케이션에 환경 변수(데이터베이스 구성 등)가 필요한 경우 docker run 명령에서 -e 플래그를 사용하여 이를 Docker 컨테이너에 전달할 수 있습니다.
볼륨 마운트: 애플리케이션이 데이터를 유지해야 하거나 로컬 파일에 액세스해야 하는 경우 Docker 볼륨 사용을 고려해보세요.
이 단계를 따르면 Spring Boot 애플리케이션을 성공적으로 Dockerize하고 다른 팀과 공유할 수 있습니다.
감사합니다
카일라쉬
자바헌장
위 내용은 PostgreSQL 데이터베이스와 함께 Maven을 사용하여 Java Spring Boot 애플리케이션을 Docker화합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!