Dockerfile에 정의됨Dockerfile 추가# 베이스 이미지 지정
# Alpine Linux(경량 리눅스) 사용
FROM eclipse-temurin:21-jdk-alpine
# 작업 디렉토리 설정
WORKDIR /app
# 빌드 파일을 컨테이너로 복사
COPY build/libs/*.jar /app/myapp.jar
# 실행 명령어
# `java -jar /app/myapp.jar` 명령어와 같음
ENTRYPOINT ["java", "-jar", "/app/myapp.jar"]
docker build -t test-docker-hello .: 도커 이미지 빌드
docker run -d -p 8080:8080 --name custom-container-name test-docker-hello: 도커 이미지 실행-d(--detach): 컨테이너를 터미널 화면이 아닌 백그라운드 프로세스로 실행-p xxxx:yyyy: 로컬(호스트 컴퓨터) 포트와 도커 컨테이너 내부 포트를 연결 (포트포워딩)8080 이고, 보통 컨테이너 쪽도 같은 포트로 설정한다.--name: 컨테이너 이름을 지정
하나의 포트는 한 프로세스만 점유할 수 있으므로,
port is already allocated에러가 발생 시 기존 프로세스를 정리해야 한다.
- Mac:
kill $(lsof -t -i:{port})- Windows:
netstat -ano | findstr {port}로 PID 찾고taskkill /f /pid {pid}