1. 시험환경
˙ Github
˙ Ubuntu v20.04
˙ Docker, Docker Hub
˙ Spring Boot Project
2. 목적
˙ Github에서 Spring Boot Project를 다운로드(pull) 한다.
˙ Spring Boot Project가 정상적으로 빌드(build) 되어 결과 파일(war, jar)가 생성되는지 확인한다.
˙ Dockerfile을 이용하여 Spring Boot Project를 Docker Image로 빌드한다.
˙ Docker Image를 Docker Hub에 업로드(push) 한다.
˙ Docker Hub에서 다운로드(pull) 하고 컨테이너를 실행하여 동작여부를 확인한다.
3. 적용
① Spring Boot 프로젝트를 생성한다.
- Git Clone 명령어 : git clone [repository] .
- Repository : https://github.com/silkWater/template-gradle-springboot.git
② 프로젝트 빌드(Gradle) 명령어 실행 후 BUILD SUCCESSFUL 및 결과 파일이 생성된 것을 확인한다.
- Gradle 빌드 명령어 : $ gradle build --info
- 빌드 파일 경로 : $ (pwd)/build/libs/[파일명].war
③ 프로젝트의 최상위 디렉토리에서 Dockerfile을 작성한다.
④ Dockerfile에 의하여 Spring Boot 프로젝트를 docker image로 빌드한다.
- Gradle 빌드 명령어 : $ docker build -t [repository:tag] .
⑤ Docker Hub에 업로드(push) 권한을 얻는다.
- $ docker login
⑥ DockerHub에 이미지를 업로드(push) 한다.
- $ docker push [repository:tag]
⑦ Docker Hub의 지정한 Repository에 Docker Image가 업로드(push) 되었는지 확인한다.
- Docker Hub Repository 전/후 비교
⑧ Local PC의 docker image를 삭제하고 Docker Hub로부터 이미지를 다운로드(pull) 받는다.
⑨ 도커(docker) 컨테이너(container)를 실행한다.
4. 결과
˙ HTTP 접속하여 서비스가 동작하는지 확인한다.
'AWS(Amozon Web Service)' 카테고리의 다른 글
ACM, Route 53, ALB, EC2를 이용하여 도메인 기반 서비스 구성 (0) | 2023.03.10 |
---|---|
SpringBoot 프로젝트를 Docker 빌드(JIB) 및 Docker Hub 업로드(push) 하는 방법 (0) | 2023.02.27 |
[docker] ECR에 docker image 업로드(push) / 다운로드(pull) (0) | 2023.02.27 |
[docker] ECR Repository 생성 및 IAM 사용자 권한 (0) | 2023.02.27 |
[docker] 컨테이너(container) 저장소(volume) 설정 - 컨테이너 마운트 (0) | 2023.02.24 |