1. intelliJ Docker Plugin 설치 ( ctrl + alt+ s )

2. bootJar 빌드하기

3. 루트 폴더에 Dockerfile 생성

2. Dockerfile 작성
## 이 부분은 사용할 Java 버전을 지정합니다. 여기서는 Alpine Linux 기반의 OpenJDK 17 이미지를 사용하고 있습니다.
FROM openjdk:17-alpine
## Docker 빌드 중에 사용될 변수를 정의합니다.
ARG JAR_FILE=/build/libs/*.jar
## 앞에서 정의한 ${JAR_FILE} 변수에 해당하는 JAR 파일을 컨테이너 내부의 /app.jar 경로에 복사합니다. 이를 통해 애플리케이션 JAR 파일을 컨테이너 내부로 가져옵니다.
COPY ${JAR_FILE} app.jar
## 컨테이너가 8080 포트에서 애플리케이션을 실행한다고 Docker에 알려줍니다. 이렇게 하면 Docker 외부에서 컨테이너의 8080 포트에 액세스할 수 있습니다.
EXPOSE 8080
##컨테이너의 상태를 10초마다 확인하게 됩니다.
HEALTHCHECK --interval=10s CMD wget -qO- localhost:8080
## 컨테이너가 실행될 때 실행되는 명령을 정의합니다. 여기서는 Java를 사용하여 /app.jar 파일을 실행하고, Spring 프로파일을 "dev"로 설정합니다. 이것은 애플리케이션을 시작하는 명령입니다.
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=dev","/app.jar"]
3. 터미널에 다음 명령어 입력
## -t 옵션은 내가 원하는 spring 이라는 이름의 이미지를 생성합니다.
## -f 옵션은 내가 작성한 도커파일의 이름 Dokerfile과 경로 . (현재경로)을 참조합니다.
docker build -t spring -f Dockerfile .
4. 다음 명령어를 차례대로 입력
## docker 이미지가 생성되었는지 확인하는 명령어.
docker images
## docker 이미지를 실행하는 명령어 (컨테이너를 생성하고 실행함)
docker run -d -p 8080:8080 --name my-container spring:latest
## docker 컨테이너가 실행중인지 확인하는 명령어
docker ps
5. 이제 http://localhost:8080/ 접속해보자.
Docker hub 사용은 아래 명령어 참조 https://hub.docker.com/
## docker hub에 로그인 하기
docker login
## docker 로그인 확인하기
docker info
## 생성할 이미지 이름을 {namespce}/{repositoryname}:{태그} 로 정해준다.
docker build -t shinhyunjoon/spring:1.0 -f Docker .
## docker hub에 올리기
docker push shinhyunjoon/spring:1.0
## 다른 pc 에서 docker hub에서 내려받기
docker pull shinhyunjoon/spring:1.0'DevOps > Docker' 카테고리의 다른 글
| MSA 도커 localhost 안될때 호스트머신 주소 접근방법, host.docker.internal (0) | 2025.02.05 |
|---|---|
| Dockerfile에서 WORKDIR과 COPY . .의 역할과 필요성 (0) | 2025.02.04 |
| docker mysql 설치하고 heidisql 연결하기 (0) | 2023.08.28 |