Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- c3 second
- gcc 업데이트
- CentOS7
- telegraf
- c3 축 없애기
- regex_search
- semanage
- c3 step graph
- 백준
- c3 축 가리기
- python popen
- 정규식 활용
- centos pyhon 설치
- influxdb 설치
- snmp test
- python os
- InfluxDB
- 1697
- subporcess path
- grafana dashboard
- linux시간으로 변경
- c++ 정규식
- g++ 업데이트
- 정규식 컴파일
- python subprocess
- c3 초
- snmp
- 정규식 문자열 출력
- gcc regex
- selinux port 등록
Archives
- Today
- Total
리셋 되지 말자
[dockerizing] jar파일을 이용해 도커 컨테이너에서 스프링 실행하기 본문
docker run으로 스프링 실행
docker run --rm -it -p 8080:8080 -v C:\Users\hello-spring\build\libs:/home/user --name spring openjdk:11.0.10-jre-slim-buster java -jar /home/user/hello-spring-0.0.1-SNAPSHOT.jar
jar 파일이 있는 곳에서 위의 명령어를 실행한다.
--rm
컨테이너가 종료되면, stop 상태가 아닌 바로 삭제되도록 한다.
-it
스프링이 잘 실행되는지 포그라운드에서 바로 확인할 수 있도록 옵션 설정
-p 8080:8080
호스트의 8080포트와 컨테이너의 8080포트를 연결
-v C:\Users\hello-spring\build\libs:/home/user
-v 옵션으로 현재 위치와 컨테이너의 /home/user 디렉토리를 마운트 한다. (컨테이너의 /home/user 디렉토리 안에 jar 파일이 위치하게 됨)
--name spring
컨테이너 이름을 spring으로 설정
openjdk:11.0.10-jre-slim-buster
jre-slim-buster 이미지 사용. 그냥 11.0.10 이미지는 크기가 후덜덜하게 큼...
java -jar /home/user/hello-spring-0.0.1-SNAPSHOT.jar
jar파일을 이용해 스프링을 시작하는 명령어 부분.
jar 파일이 /home/user 디렉토리에 있으므로, 절대 경로를 지정하여 스프링 실행
Dockerfile로 실행
$ ls
Dockerfile hello-spring-0.0.1-SNAPSHOT.jar
jar 파일이 있는 곳에 Dockerfile 작성 시작
$ cat Dockerfile
# 베이스 이미지 지정
FROM openjdk:11.0.10-jre-slim-buster
# 디렉토리 생성 및 이동
WORKDIR /home/user
# jar파일 복제
COPY hello-spring-0.0.1-SNAPSHOT.jar /home/user
# jar파일 실행
CMD java -jar /home/user/hello-spring-0.0.1-SNAPSHOT.jar
Dockerfile 내용
$ docker build -t my-spring:0.1 .
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my-spring 0.1 9bc44395c252 About a minute ago 238MB
이미지 빌드 및 생성된 이미지 확인
$ docker run -it -p 8080:8080 --name spring my-spring:0.1
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.3.9.RELEASE)
2021-04-09 09:48:17.162 INFO 8 --- [ main] h.hellospring.HelloSpringApplication : Starting HelloSpringApplication on 35eef310e403 with PID 8 (/home/user/hello-spring-0.0.1-SNAPSHOT.jar started by root in /home/user)
2021-04-09 09:48:17.166 INFO 8 --- [ main] h.hellospring.HelloSpringApplication : No active profile set, falling back to default profiles: default
2021-04-09 09:48:18.229 INFO 8 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2021-04-09 09:48:18.245 INFO 8 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2021-04-09 09:48:18.246 INFO 8 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.43]
2021-04-09 09:48:18.325 INFO 8 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2021-04-09 09:48:18.325 INFO 8 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1068 ms
2021-04-09 09:48:18.534 INFO 8 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2021-04-09 09:48:18.633 INFO 8 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html]
2021-04-09 09:48:18.767 INFO 8 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2021-04-09 09:48:18.782 INFO 8 --- [ main] h.hellospring.HelloSpringApplication : Started HelloSpringApplication in 2.231 seconds (JVM running for 2.79)
실행 성공
'Spring' 카테고리의 다른 글
[Spring Boot] Gradle - Hello World (0) | 2022.12.19 |
---|---|
[인텔리제이] 유용한 단축키 정리 (0) | 2021.04.10 |
[빌드] jar 파일 빌드 (0) | 2021.04.09 |
[라이브러리] test (0) | 2021.03.22 |
[라이브러리] logging (0) | 2021.03.22 |
Comments