일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 삼항 연산
- 2차원 배열
- 상속
- for문
- scanner
- 자바
- 인터페이스
- 상수
- 삼항 연산식
- 메소드
- Integer.MIN_VALUE
- If
- Integer.MAX_VALUE
- Break
- docker
- 이클립스
- interface
- 다형성
- Else If
- super()
- rs.next()
- 이중 배열
- 배열
- 오버로딩
- extends
- jsp
- javascript
- arraylist
- 문자열
- 중첩for문
- Today
- Total
개발로드
☆KDT 2024-05-11★Docker MySQL 설치 본문
IaC(Infra as Code) : 코드형 인프라
수동 프로세스가 아니라 코드를 통해서 인프라를 관리하고 프로비저닝(배포) 하는 것
인프라 사양을 담은 구성 파일을 이용해서 구성을 편집하고 배포하는 것
Docker에서는 Dockerfile과 docker-compose를 이용해서 코드형 인프라를 구현합니다.
Dockerfile은 도커 이미지를 생성하기 위한 스크립트 파일입니다.
Spring Boot Application을 이미지로 만들어서 실행
이렇게 하는 이유는 스프링으로 애플리케이션을 만들어서 다른 곳에서 실행을 하고자 하는 겨웅 그 곳에 직접 자바를 설치하고 스프링을 설치해서 실행해야합니다.
이렇게 하면 사람이 하는 것이므로 실수를 할 수 있게 됩니다.
이런 부분을 사람이 직접 하지 않고 코드가 할 수 있도록 하면 일관성이 있게 작업을 수행할 수 있습니다.
최근에는 애플리케이션을 Dockerfile을 이용해서 이미지로 만들고 docker-compose를 이용해서 실행을 합니다.
이런 용도로 사용되는 가장 유명한 프로그램이 ansible 입니다.
루트 디렉토리에 도커파일 생성
FROM amazoncorretto:17
CMD ["./mvnw", "clean", "package"]
ARG JAR_FILE=target/*.jar
COPY ./build/libs/*.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
gradle 프로젝트 빌드 : 실행 파일을 생성
gradlew clean build
리눅스일 경우 : ./gradlew clean build
Dockerfile을 이용해서 도커 이미지 생성
docker build -f 도커파일명 -t 이미지이름 디렉토리
docker build -f Dockerfile -t springapp:1.0.0 .
docker에서 image 확인
이미지를 컨테이너로 변환
docker run -p 80:8080 springapp:1.0.0
docker에서 container 확인
SpringApp 실행하기
docker run --name springapp -dit -p 80:8080 springapp:1.0.0
intelliJ를 실행종료했음에도 불구하고 실행됨
도커허브에 업로드 하기
이미지이름 변경 : docker tag 이미지이름 계정이름/이미지이름:버전
docker tag springapp:1.0.0 wonjungkim/springapp:latest
이미지 업로드 : docker push 계정이름/이미지이름:버전
docker push wonjungkim/springapp
docker hub 레포지토리에서 가져오기
docker pull wonjungkim/springapp
image 다운로드후 image 실행
docker run --name springapp -dit -p 80:8080 wonjungkim/springapp
docker-compose.yml는 이미지를 기반으로해서 컨테이너를 생성하는 스크립트 파일
version: "3"
services:
web:
build:
context: .
dockerfile: Dockerfile
command: "java -jar app.jar"
ports:
- "80:8080"
docker-compose -f docker-compose.yml up --build
여유가 되신다면 제 GitHub에 오셔서 좋은 코드들을 구경해주세요!
https://github.com/gimpo5975?tab=repositories
gimpo5975 - Overview
gimpo5975 has 11 repositories available. Follow their code on GitHub.
github.com
'JAVA' 카테고리의 다른 글
☆KDT 2024-05-18★Amazon AWS RDS MySQL 데이터베이스 생성 (0) | 2024.05.18 |
---|---|
☆KDT 2024-05-14★SpringBoot 스케쥴링/AWS EC2 (0) | 2024.05.14 |
☆KDT 2024-05-11★Docker MySQL 설치 (0) | 2024.05.11 |
☆KDT 2024-05-11★Docker 실습 (0) | 2024.05.11 |
☆KDT 2024-05-10★axios (0) | 2024.05.10 |