MySQL 데이터베이스로 Spring Boot 애플리케이션을 도커화하는 가이드

그렇다면 Java Spring Boot 애플리케이션을 빌드하고 Docker 컨테이너 내에서 실행하고 싶습니까? 이 문서는 컨테이너에서 실행할 MySQL 데이터베이스 및 스프링 부트 애플리케이션 이미지를 빌드하는 단계별 가이드를 제공합니다.

이 기사에서는 AWS EC2 Linux 인스턴스를 사용하지만 설치 부분을 제외하고 모든 명령은 다른 OS에서도 유사합니다.
  • 첫 번째 단계는 사용 중인 시스템에 도커를 설치하는 것입니다. 설치를 위해 아래 링크의 단계를 따르십시오.

  • https://docs.docker.com/engine/install/ubuntu/
  • Docker 설치가 완료되면 올바르게 설치되었는지 확인합니다.
  • docker -v
    docker info
  • 이 응용 프로그램에서 MySQL 데이터베이스를 사용하고 있으므로 먼저 MySQL 데이터베이스용 도커 네트워크를 생성해야 합니다.
  • Docker 허브에서 MySQL 이미지를 가져와 로컬에서 사용할 수 있는지 확인합니다.
  • docker pull mysql:5.7
    docker images
  • Spring 부트 응용 프로그램이 MySQL 데이터베이스와 통신할 수 있도록 도커 네트워크를 만듭니다.
  • docker network create springboot-mysql-net
  • 네트워크에서 MySQL 컨테이너를 실행하고 몇 분 동안 기다립니다.
  • docker run -it --name mysqldb --network=springboot-mysql-net -e MYSQL_ROOT_PASSWORD=1234 -e MYSQL_DATABASE=expensetracker -e MYSQL_USER=sys -e MYSQL_PASSWORD=1234 -d mysql:5.7

  • 이제 MySQL 컨테이너가 실행 중이므로 대화형 모드를 사용하여 데이터베이스가 생성되었는지 확인하겠습니다. 대화형 모드에서 mysqldb 컨테이너에 연결하려면 컨테이너 ID의 초기 문자를 몇 개 사용하여 아래 명령을 사용할 수 있습니다.

  • 구문: docker exec -it <container-id> bashdocker exec -it 81e7 bashmysql -u sys -p 1234show databases;

  • 이제 컨테이너에서 실행 중인 MySql 데이터베이스를 사용하여 이 데이터베이스에 연결하기 위해 응용 프로그램 속성을 업데이트해 보겠습니다.

  • # MySQL properties
    spring.datasource.url=jdbc:mysql://mysqldb:3306/expensetracker
    spring.datasource.username=sys
    spring.datasource.password=1234
    



  • 이제 Dockerfile을 사용하여 스프링 부트 응용 프로그램 jar에서 도커 이미지를 빌드해야 합니다.


  • 아래 명령을 실행하여 도커 이미지를 빌드합니다.
  • docker build -t springbootmysql .

  • 따라서 mysql 데이터베이스 컨테이너가 실행 중이고 애플리케이션용 도커 이미지가 구축되어 있으므로 데이터베이스와 동일한 네트워크에서 스프링 부트 컨테이너를 시작하겠습니다.
  • docker run --network=springboot-mysql-net --name springboot-container -p 8080:8080 -d springbootmysql


  • 보시다시피 스프링 부트 응용 프로그램이 이제 컨테이너에서 실행 중입니다.
  • 이 이미지를 도커 허브에 푸시하는 방법을 살펴보겠습니다. 먼저 계정을 만들어야 합니다https://hub.docker.com/.
    계정이 생성되면 docker login 명령을 사용하여 도커 허브에 로그인합니다.
  • 로그인에 성공하면 아래 명령(로그인 및 이미지에 따라 이름 변경)을 사용하여 이미지를 Docker 허브로 푸시할 수 있습니다.
  • docker push devanandukalkar/springbootmysql




    이 기사가 도움이 되었기를 바랍니다. 댓글 섹션에서 피드백을 알려주세요.

    좋은 웹페이지 즐겨찾기