티스토리 뷰
이거 참..
Spring Boot 를 Docker이미지 만들어서 띄울려고 삽질을 좀 많이했다.
여러 글에서 설명이 잘 나와있다.
순서대로 뭘 해야하는지를 적어본다.
대부분 도커파일을 생성하라고 먼저하는데 뭐 어쨋던간에 난 햇갈려서..
1. mvn clean package 를 하여 스프링 부트 jar 파일을 만들어준다. jar파일 만들어서 파일 이름 확인하는게 중요하다. porm설정이 제대로 되어있으면 사실 이 글을 읽지 않았겠지. 태그는 머리아프고 수정은 뭔뜻인지 모르는 나는 자르파일 명 집적 확인해서 넣는게 속이 편하더라.
2. Dockerfile 을 프로젝트 루트에 만들어준다.
3. Dockerfile 을 만들어준다.
FROM openjdk:10-jdk
VOLUME /tmp
EXPOSE 8080
ARG JAR_FILE=target/authentication-0.0.1-SNAPSHOT.jar
ADD ${JAR_FILE} authentication.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/authentication.jar"]
뭐 이렇게 해준다.
FROM openjdk:10-jdk <-- 자바 버전설정이다. java:8 뭐 등등 많으니 검색해서 사용하면 된다.
ARG JAR_FILE 요부분이
ARG JAR_FILE=target/authentication-0.0.1-SNAPSHOT.jar
프로젝트 루트폴더 기준(터미널을 칠 위치) 에서 jar파일이 오딨니를 확인해야한다.
ADD ${JAR_FILE} authentication.jar <- 음.. 뭐랄까.. select name as username from users 이런 as느낌이다.
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/authentication.jar <--as달아주면 된다
4. 그후.. 이제... 도커를 빌드한다.
docker build -f Dockerfile -t authentication_server .
-f Dockerfile <- 도커파일 이름 지정해준다(2번에서 생성한)
-t authentication_server <- 이미지 이름이다
저 뒤에 보이는 쩜 저거 중요하다. 스페이스바 한칸 띄고 쩜 눌러야 빌드된다. 저거 오타인줄알았는데 진짜 화가나는부분이다.
난 프로젝트 루트경로에 Dockerfile을 생성했다. 그래서 프로젝트 루트경로에서 docker build 를 진행하였고
Dockerfile에 ARG JAR_FILE의 경로도 프로젝트 루트경로 기준으로 작성한 것이다.
이후 빌드된 이미지를 run하시면 됩니닷!
추후 할것..
mariadb docker container 와 spring boot container간에 서로 통신이 안된다 link뭐 해야된대~~ 그거할꺼야~~
'Spring' 카테고리의 다른 글
Spring Custom Annotation 만들기 (0) | 2019.12.11 |
---|---|
Docker swarm 적용 (0) | 2019.12.02 |
Docker 적용하기 (Mariadb) (0) | 2019.11.26 |
Project Module (0) | 2019.11.21 |
Kafka 적용일기 1.. (0) | 2019.11.08 |