ubuntu + jdk 이미지
- Dockerfile
- Spring의 .jar 파일을 실행하는 이미지 생성
- 한글 사진 파일 업로드를 위한 locale 설정
FROM ubuntu
RUN apt-get update
RUN apt-get install -y openjdk-11-jdk
RUN apt-get -y install locales
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
locale-gen
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ARG JAR_FILE=./build/libs/*.jar
ADD ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
mariadb와 Spring 이미지를 docker-compose.yml로 생성
version: "3"
services:
database:
container_name: database
image: mariadb
volumes:
- ./db:/var/lib/mysql
environment:
- MYSQL_DATABASE=moviereview
- MYSQL_ROOT_PASSWORD=1234
- MYSQL_ROOT_HOST=%
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
ports:
- "3306:3306"
platform: linux/amd64
application:
container_name: application
build: .
environment:
SPRING_DATASOURCE_URL: jdbc:mariadb://database:3306/moviereview?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: 1234
volumes:
- ./photo:/var/lib/photo
restart: always
ports:
- "8080:8080"
- 사진 파일 업로드시 볼륨을 이용하여 호스트의 하드디스크에 저장
- data도 볼륨을 생성하여 컨테이너 삭제후 다시 만들어도 기존 서버 유지 가능
댓글남기기