개발자의 서재
Chaptor.09 - 로컬에 docker설치, Spring boot 프로젝트 도커이미지 만들기, 도커이미지 로컬에서 실행해보기 본문
Chaptor.09 - 로컬에 docker설치, Spring boot 프로젝트 도커이미지 만들기, 도커이미지 로컬에서 실행해보기
ironmask431 2022. 4. 18. 22:54
https://www.hanumoka.net/2019/01/21/springBoot-20190121-springboot-deploy-docker/
위 링크 참고
1. gradle > build 를 실행해서 jar 파일을 생성한다.
build 가 완료되면 /build/libs/ 경로에 jar 파일이 생성된다.
2. 커맨드에서 아래 명령어를 실행한 후 localhost:8080 에서 제대로 구동되는지 확인한다. (정상확인 =)
java -jar springboot-jwt-tutirial-0.0.1.jar
1. 로컬에 docker 을 설치한다.
https://docs.docker.com/desktop/windows/install/
2. 다운받은 설치파일로 설치를 진행한다.
3. 도커 설치 완료 후 도커 실행 시 윈도우즈 virtualizaion 가상화 관련 오류 메세지
bios에서 가상화 on 해야한다고 함. (재부팅 f8 bios setup ㄱㄱ)
가상화 on off 여부는 작업관리자 > 성능 탭에서 확인할 수 있다.
4. WSL 2도 추가 설치가 필요하다는 안내메세지 > 해당 링크로 이동해서 WSL 설치 진행한다.
5. 아래 링크 클릭
6. WSL 2 설치 진행중...
7. 도커 설치완료 , 도커 실행
8. 커맨드에서 도커 설치 확인
docker -v
9. 도커이미지 테스트 실행 커맨드 실행
docker run -d -p 80:80 docker/getting-started
10. 실행 후 localhost:80 접속해보면 아래와 같은 화면 확인됨.
11. 인텔리제이 > 프로젝트 최상단 경로에 DockerFile 생성.
* 주의 : 확장자가없는 파일임 Dockerfile.txt 라고 하면
"failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount358418333/Dockerfile: no such file or directory" 에러발생함.
FROM openjdk:11
ADD build/libs/springboot-jwt-tutorial-0.0.1-SNAPSHOT.jar app.jar
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-jar","/app.jar"]
12. 만든 DockerFile을 바탕으로 도커 이미지 생성
docker build --tag springboot-jwt-tutorial-0.0.1 .
13. 아래 커맨드로 생성된 도커이미지를 확인 할 수 있다.
docker images
14. 생성된 도커 이미지 실행
docker run -p 8080:8080 springboot-jwt-tutorial-0.0.1
스프링부트jar 구동한것 처럼 똑같이 localhost:8080 포트에서 잘 실행된다. (api 테스트정상)
15. 도커로 구동시 h2-console 안들어가짐. (/h2-console)
"이 서버에서 원격 연결 ( 'webAllowOthers')을 사용할 수 없습니다. "
https://moonsiri.tistory.com/33 참고해서 수정
application.yaml 수정
spring:
h2:
console:
enabled: true
#로컬이외 환경에서 구동 시 h2-console 접속허용
settings:
web-allow-others: true
aws서버 배포 후 h2-console 접속안되는것도 위와 같은 방법으로 해결 가능하다.
'SpringBootProject > SringBoot_JWT_RestApi' 카테고리의 다른 글
Chaptor.08 - 단위 테스트 코드 작성(Controller별 테스트) (0) | 2022.04.18 |
---|---|
Chaptor.07 - REST API 문서화 (Swagger 2.9.2) (0) | 2022.04.16 |
Chaptor.06 - 상품,주문 entity, repository, dto, servcie, controller (API) 추가 (0) | 2022.04.03 |
Chaptor.05 - 회원가입 API 생성 , 권한검증 테스트 (0) | 2022.04.03 |
Chaptor.04 - DTO, Repository, 로그인API 생성 (0) | 2022.04.03 |