도커파일 작성하기
DockerFile
# Use an appropriate base image for Java
FROM openjdk:17-jdk-slim
# Set the working directory in the container
WORKDIR /app
# Copy the JAR file from the local machine to the container
COPY build/libs/APIServer-0.0.1-SNAPSHOT.jar app.jar
# Set environment variables
ENV SPRING_DATASOURCE_URL=jdbc:mysql://host.docker.internal:3306/user?serverTimezone=Asia/Seoul
ENV SPRING_DATASOURCE_USERNAME=root
ENV SPRING_DATASOURCE_PASSWORD=
ENV SPRING_JPA_HIBERNATE_DDL_AUTO=create
ENV SPRING_DATASOURCE_DRIVER_CLASS_NAME=com.mysql.cj.jdbc.Driver
ENV SPRING_JPA_PROPERTIES_HIBERNATE_SHOW_SQL=true
ENV SPRING_JPA_PROPERTIES_HIBERNATE_FORMAT_SQL=true
ENV SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.MySQLDialect
# Expose port 8080 to the outside world
EXPOSE 8080
# Run the JAR file
ENTRYPOINT ["java", "-jar", "app.jar"]
- 컨테이너를 만들기 위해서는 Dockerfile을 통해서 이미지를 만드는 것을 수행해야 한다. (하지만 그전에 수행해야 할 것은 build/libs 파일에 스냅샷 파일을 우선 만들어야 한다.)

도커허브에 올릴 이미지 만들기
docker build -t taewoocode/apiserver:1.0 .
*[main][~/Desktop/Study/APIServer]$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
69e8b11fc3f1 taewoocode/apiserver:latest "java -jar app.jar" About a minute ago Exited (1) About a minute ago thirsty_sammet
4a9633ffa1a4 gcr.io/k8s-minikube/kicbase:v0.0.42 "/usr/local/bin/entr…" 22 hours ago Up 22 hours 127.0.0.1:50114->22/tcp, 127.0.0.1:50115->2376/tcp, 127.0.0.1:50117->5000/tcp, 127.0.0.1:50118->8443/tcp, 127.0.0.1:50116->32443/tcp minikube
Reference
https://velog.io/@18k7102dy/Docker-Spring-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A5%BC-Docker%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%B4%EC%84%9C-%EB%B0%B0%ED%8F%AC%ED%95%B4%EB%B4%85%EC%8B%9C%EB%8B%A4