1.자바 애플리케이션 빌드
Java, Spring Boot 기반으로 구현된 애플리케이션을 도커 이미지로 빌드하여 컨테이너 기반으로 실행
1. 실습용 애플리케이션을 도커 이미지로 빌드
1-1. 실습 폴더 경로로 이동
terminal
cd ~/080258/ch04/exercises/image-of-the-day1-2. Dockerfile 스크립트 확인
Dockerfile
FROM diamol/maven AS builder
WORKDIR /usr/src/iotd
COPY pom.xml .
RUN mvn -B dependency:go-offline
COPY . .
RUN mvn package
# app
FROM diamol/openjdk
WORKDIR /app
COPY --from=builder /usr/src/iotd/target/iotd-service-0.1.0.jar .
EXPOSE 80
ENTRYPOINT ["java", "-jar", "/app/iotd-service-0.1.0.jar"]1-3. 도커 이미지 빌드
terminal
docker build -t image-of-the-day .1-4. 빌드된 이미지 확인
terminal
docker images1-5. 이미지 기반으로 컨테이너 생성 및 실행
terminal
docker container run --name iotd -d -p 8080:80 image-of-the-day1-6. Public IP 주소로 테스트
{Public IP 주소}:8080/images응답 결과
JSON
{
"url": "[https://img.youtube.com/vi/5D9j-8Vhyto?rel=0&show/0.jpg](https://img.youtube.com/vi/5D9j-8Vhyto?rel=0&show/0.jpg)",
"caption": "A Total Solar Eclipse Close-Up in Real Time",
"copyright": "\nJun Ho Oh (KAIST, \nHuboLab); \n Music: \nFlowing Air by \nMattia Vlad Morleo\n"
}1-7. 해당 컨테이너 내부로 진입하여 java, mvn 명령어 실행 가능 여부 확인
컨테이너 내부로 진입
terminal
docker exec -it iotd /bin/shjava 버전 확인
terminal
java -version실행 결과
terminal
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment 18.9 (build 11.0.10+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.10+9, mixed mode, sharing)mvn(Maven) 버전 확인
terminal
mvn -version실행 결과
terminal
mvn: not found→ 도커 이미지 빌드 과정에서 Maven 빌드 도구는 포함되지 않았기 때문에 mvn 명령어는 사용할 수 없음
(일반적으로 빌드 도구는 운영 환경에서 필요하지 않기 때문에 빌드된 이미지에서 제외됨)
Last updated on