-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BSVR-25] docker 추가 #11
Changes from 9 commits
33400d2
9e8f211
2987bb3
caf5d9e
ed15fa4
67e0c25
8ac2895
887779e
ca658fb
36edee9
61eb892
45138a9
15d7817
d2e9341
776da75
54b3cc7
a6ae20e
8b995b8
95fff61
957084d
3cbf619
7b8166a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# dockerfile 실행 전 server wiki를 참고하여 명령어를 사용해주세요. | ||
# spring boot 애플리케이션이 빌드되어야 실행 가능해요! | ||
|
||
# ubuntu 20.04 버전을 기반으로 합니다. | ||
FROM ubuntu:20.04 | ||
|
||
# RUN 명령어는 명령어를 실행시키는 구문입니다. | ||
# 기본적으로는 apt를 사용하는 것으로 했지만, yum 등으로 바꿔도 됩니다. (ubuntu에선 주로 apt를 사용합니다) | ||
# RUN은 빌드 시 적용 -> 도커 이미지에 반영됨! | ||
RUN apt update && apt install -y openjdk-17-jdk | ||
|
||
# 컨테이너 내의 작업 디렉토리 설정 | ||
WORKDIR /spot | ||
|
||
# 빌드 결과물 복사 | ||
COPY build/libs/*.jar spot-server.jar | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 루트 build/libs/*.jar에는 plain-jar만 있어서 실행 안 될 것 같응뒤?! |
||
|
||
# 8080 포트 사용 | ||
EXPOSE 8080 | ||
|
||
# 컨테이너 실행과 함께 spot-server.jar (서버 jar 파일)을 실행 | ||
ENTRYPOINT ["java","-jar","spot-server.jar"] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# docker-compose.yml | ||
|
||
services: | ||
mysql: | ||
container_name: SPOT-db | ||
image: mysql:8 # 선호하는 버전 있을 경우 선정 예정! | ||
ports: | ||
- 3306:3306 # 혹시나 기존에 MySQL 사용 중일 경우 앞자리를 다른 포트로 바꿔야함. | ||
volumes: | ||
- ./db/mysql/data:/var/lib/mysql # 기존 데이터 파일과 격리를 위해 db/mysql/data 로 설정함! | ||
command: | ||
- '--character-set-server=utf8mb4' | ||
- '--collation-server=utf8mb4_unicode_ci' | ||
environment: | ||
TZ : "Asia/Seoul" | ||
MYSQL_DATABASE: spot # DB 이름 선정 시 변경 예정. | ||
MYSQL_USER: test1234 # 임시 유저 | ||
MYSQL_PASSWORD: test1234 # 임시 비밀번호 | ||
server: | ||
container_name: spot-server-docker | ||
image: ubuntu:20.04 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 도커 파일로 우분투 빌드해서 새로 우분투 이미지를 가져오는 게 아니라 그걸 그대로 쓰면 될 것 같아! |
||
ports: | ||
- 8080:80 # 80번 - 80번 매칭 | ||
volumes: | ||
- ./app:./app | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 그러면 서버 부분은 아래처럼만 설정하면 돼 server:
build: . # 디렉토리에 있는 도커파일 이용해서 이미지 빌드
container_name: spot-server-docker
ports:
- 8080:8080
depends_on: # 항상 mysql 실행하고 서버 실행되게 함.
- mysql
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/spot
SPRING_DATASOURCE_USERNAME: test1234
SPRING_DATASOURCE_PASSWORD: test1234
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
우분투를 깔아서 jdk를 설치하기보다 그냥 openJDK이미지를 바로 사용하는 게 어때? 더 가볍고 자바 설치과정도 필요 없을 것 같아