728x90

Docker 환경세팅 전에 설치가 안되신 분들은 아래 URL로 접속하여 설치를 먼저 진행해주세요.

https://jfbta.tistory.com/194

 

Docker ] 도커 다운로드 방법 / Docker 설치 따라하기

1. 아래 링크를 클릭해서 설치 사이트로 접근한다. https://docs.docker.com/desktop/install/windows-install/ Install Docker Desktop on Windows docs.docker.com 2. 아래 이미지에서 빨강박스 'Docker Desktop..

jfbta.tistory.com


※ 도커 연동할 프로젝트 환경

 - 개발목적 : RestApi 구현 후 도커로 배포 및 실행

 - 개발언어 : Java

 - 개발환경 : SpringBoot, Maven, Mybatis

 - 사용툴 : intellij

 

모든 명령어는 CMD(명령 프롬프트)에서 실행한다.

 

1. 네트워크 설정

 - 도커환경에서 springboot와 mysql을 연동하기 위한 설정이다.

 

 1) 도커 네트워크를 추가 생성.

docker network create springboot-mysql-net

 

 2) 도커 네트워크 생성 확인

docker network ls

2.  도커 프로젝트 이미지 생성

 1) intellij의 우측 상단에 Maven 탭을 클릭한다.

 2) 'package'를 더블클릭하여 실행한다.

 3) '[최상위_프로젝트_경로]/target' 위치에 'restApi-1.0-SNAPSHOT.jar' 파일이 생성되었을 것이다.

    ( * 일반적으로 '[최상위_프로젝트_경로]' 위치는 target, src 폴더보다 앞에 있다.)

  - jar파일명은 pom.xml에서 변경할 수 있다.

<groupId>org.example</groupId>
<artifactId>restApi</artifactId>
<version>1.0-SNAPSHOT</version>

  jar파일명은 artifactId와 version을 합친 것이다.

 

 4) 도커파일 작성

  - 저장경로 : '[최상위_프로젝트_경로]' 위치에 저장한다.

# SpringBoot Rest api Project
FROM  openjdk:8-jdk-alpine
COPY /target/restApi-1.0-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]

 ※ 도커파일 내용 설명

  - FROM = 이미지이름:태그

  - COPY = 파일복사

  - ENTRYPOINT = 컨테이너 실행 후 스크립트 실행

 

 5) CMD화면을 열고 도커파일이 존재하는 경로로 이동한다.

 - 예시) cd C\users\home\'[최상위_프로젝트_경로]'

 

 6) 도커 이미지 생성 명령어 실행

docker build --tag restapi-images:0.1 .

도커 이미지 생성중

 7) 도커 이미지 생성 확인

docker images

 8) 도커 컨테이너 생성 및 실행

docker run -p 8080:8080 --name restapi-container --network springboot-mysql-net -d restapi-images:0.1

 9) 도커 컨테이너 실행 확인

docker container list

 

3. Mysql 설치 및 이미지 생성

 1)  mysql 도커 이미지 생성

docker pull mysql:8.0.30

 2) mysql 이미지 생성 확인

docker images

 3) mysql 컨테이너 생성 및 실행

docker run --name mysql-container -p 3306:3306 --network springboot-mysql-net -e MYSQL_ROOT_PASSWORD=[root비밀번호입력] -e MYSQL_DATABASE=[DB명] -d mysql:8.0.30

 4) mysql 컨테이너 실행 확인

docker container list


4. 테스트 

'localhost:8080/test/testId=2' → 본인이 만든 프로젝트의 URL이어야 한다.

정상적으로 붙는 것을 확인할 수 있다. 그러나 필자는 테이블생성을 안해줘서 에러가 뜨고 있다.

728x90
TOP