일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준괄호
- java
- BOJ
- 냅색알고리즘
- 백준평범한배낭
- 컴퓨터비전
- BOJ1655
- KT포트포워딩
- 백준가운데를말해요
- 합성곱연산
- 운영체제
- 윤곽선검출
- 백준스택
- 2019카카오코테
- 백준온라인저지
- 코딩테스트실력진단
- 코드트리
- 백준10828
- 딥러닝
- 백준
- 가운데를말해요
- 코테
- 카카오코테
- 이것이자바다
- 확인문제
- 스파르타코딩클럽
- 백준9012
- 웹개발기초
- 이것이자바다9장
- 이것이자바다확인문제
- Today
- Total
코딩하는 락커
Spring mvn 빌드 + Docker hub 배포 + AWS EC2 인스턴스 생성 + AWS RDS 생성 + 실행까지! 본문
Spring mvn 빌드 + Docker hub 배포 + AWS EC2 인스턴스 생성 + AWS RDS 생성 + 실행까지!
락꿈사 2022. 4. 22. 16:46Docker Repository 생성
참고 링크: https://sas-study.tistory.com/399
1. 도커 허브에 가입한다. (hub.docker.com/)
Docker Hub Container Image Library | App Containerization
We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy
hub.docker.com
2. 로그인 후 Create Repositroy를 클릭하여 Repository를 생성한다.
3. repository명을 작성하고 public 선택 후 create를 클릭하여 레포지토리를 생성한다.
Spring mvn 프로젝트 빌드하기
1. 프로젝트 위치에서 pom.xml 파일과 target 파일이 있는 위치로 이동한다.
cd 프로젝트_위치
2. 기존에 빌드됐던 것들을 지워준다.
$ mvn clean
3. 컴파일 후 빌드해준다.
$ mvn compile package
도커 파일 빌드
참고 링크: https://umanking.github.io/2021/07/11/spring-boot-docker-starter/
Spring Boot, Dockerfile로 이미지 생성, 배포하기
SpringBoot프로젝트, Dockerfile을 만들어서 이미지를 생성하고 배포해보자!
umanking.github.io
1. 빌드할 프로젝트에 Dockerfile을 만든다.
2. Dockerfile에 아래와 같이 입력한다.
FROM adoptopenjdk/openjdk11
ARG JAR_FILE=MessageToMe/target/demo-0.0.1-SNAPSHOT.jar
EXPOSE 8000
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
- FROM adoptopenjdk/openjdk11: jdk 11버전을 사용한다. (내 프로젝트가 java11을 사용하므로)
- ARG JAR_FILE=MessageToMe/target/demo-0.0.1-SNAPSHOT.jar: 배
- EXPOSE 8000: 8000번 포트를 사용하여 실행한다.
2. 도커 파일이 있는 위치로 이동한다.
3. 도커 파일을 빌드한다.
참고 링크: https://sas-study.tistory.com/425
[Docker] 이미지 플랫폼 관련 에러(The requested image's platform (linux/arm64/v8) does not match the detected host plat
도커 허브를 통해 ec2 인스턴스에 배포하고자 하였음. Dockerfile 만들고. ec2에 도커 설치하고 systemctl docker start 로 도커를 딱 켜고! 도커 허브에서 이미지 땡겨받아서 run만 하면 되는데....! 다음과
sas-study.tistory.com
$ docker build --platform 빌드할 EC2 플랫폼 환경 -t 도커 허브 아이디/도커 허브 레포지토리 명 .
4. 도커 허브 레퍼지토리에 push 한다.
$ docker push 도커 허브 아이디/도커 허브 레포지토리명
5. 도커 허브에 잘 올라갔는지 확인한다.
AWS EC2 인스턴스 생성하기
참고 링크: https://zzang9ha.tistory.com/329
AWS EC2 인스턴스 생성하기
• 안녕하세요~ 이전에 운영하던 블로그 및 GitHub, 공부 내용을 정리하는 Study-GitHub 가 있습니다! • 네이버 블로그 • GitHub • Study-GitHub • 🐔 ✔ AWS EC2(Elastic Compute Cloud) 인스턴스 생성하..
zzang9ha.tistory.com
1. 리전 확인 후 인스턴스 시작 버튼을 눌러 생성
2. 이름을 생성한다.
3. AMI 선택한다. (Amazon Linux 2 AMI HVM)
4. 인스턴스 유형 선택한다. (t2.micro)
5. 스토리지를 추가한다. (30GB)
6-1. 네트워크 설정에서 새 보안 그룹 생성을 선택한다.
6-2. 유형 ssh의 경우 AWS EC2에 터미널에 접속할 때를 의미하므로 무조건 내 IP(지정된 IP에서만 ssh 접속하도록)선택한다 (pem 키를 이용하여 접속). 프로젝트를 하기 위해 http 접속이 가능한 8000번 포트를 추가한다.
7. 키 페어를 생성한다. 이 키는 절대 유출하면 안된다.
8. 키 페어 다운로드 후 인스턴스 시작 클릭 -> 인스턴스 생성 완료한다.
9. 탄력적 IP(고정 IP)을 할당 받는다.
10. 탄력적 IP 주소를 방금 생성한 인스턴스에 연결한다.
맥북에서 AWS EC2 서버에 접속하기 (M1 MAC)
참고 링크: https://zzang9ha.tistory.com/338?category=999709
AWS EC2 서버 접속하기 (맥북OS m1)
• 안녕하세요~ 이전에 운영하던 블로그 및 GitHub, 공부 내용을 정리하는 Study-GitHub 가 있습니다! • 네이버 블로그 • GitHub • Study-GitHub • 🐔 📎 맥OS에서 AWS EC2 서버 접속하기 안녕하세요~
zzang9ha.tistory.com
1. ssh key가 있는지 확인한다. (확인해보니 있었음. 없는 경우 상단 링크 참고)
$ cat ~/.ssh/id_rsa.pub
2. AWS 인스턴스 생성시 받은 pem키를 ~/.ssh 경로에 복사한다.
$ cp pem 키의 경로/pem키의 파일명 ~/.ssh
3. pem 키의 권한 변경
$ chmod 600 pem키의 파일명
4. config 파일을 생성하여 Host (앞으로 접속할 키값. ssh host값으로 접속가능), HostName(EC2 탄력적 주소 IP), IdentityFile(pem키의 위치)를 작성한다.
$ vim config
5. config 파일의 권한을 변경한다.
$ chmod 700 config
6. AWS EC2에 접속한다.
⚠️ 탄력적 IP를 재사용 하여 vim config를 수정하여 접속했을 때 오류 발생시 링크 참고(https://cpuu.postype.com/post/30065)
해결 방안: ssh-keygen -R 탄력적 주소 IP
$ ssh 호스트이름
7. 도커를 설치한다.
$ sudo yum install docker
8. 도커를 실행한다.
$ sudo systemctl start docker
9. 도커 허브에 올라간 스프링 부트 이미지를 pull 받는다.
$ sudo docker pull superkingyj/messagetome_test
AWS RDS 생성하기
참고 링크: https://velog.io/@dohaeng0/AWS%EC%97%90-Spring-Boot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%B0%B0%ED%8F%AC-1-RDS-MySQL-%EC%84%B8%ED%8C%85
AWS에 Spring Boot 프로젝트 배포 1 - RDS, MySQL 세팅
이번에는 나눠서 작성을 할 것인데 이어지는 글에서는 만든 프로젝트를 AWS 를 통해 배포 해볼 것이다.그리고 여태까지는 H2 데이터베이스를 통해 테스트용으로만 사용했지만,이제는 서버가 다
velog.io
참고 링크: https://koiking.tistory.com/17
AWS RDS로 MariaDB 생성 + 접속해보기
이 포스트에서는 AWS RDS에서 MariaDB를 생성하고 AWS EC2에서 생성한 MariaDB에 접속해보는 과정을 기록하겠습니다. 이 포스트는 이전 AWS EC2의 환경설정 포스팅에 의존하고 있으므로 아래 URL의 이전 포
koiking.tistory.com
1. AWS RDS에 접속하여 데이터베이스를 생성한다. (mariadb 선택)
2. 생성된 DB를 확인한다.
3. 보안 그룹을 설정한다.
4. 보안 그룹 규칙에 들어가서 인바운드 규칙 편집을 클릭한다.
5. 규칙 추가를 누른다.
6. MySQL / Aurora를 선택한 후 사용자는 위에서 생성한 EC2의 보안 그룹을 선택한다.
AWS EC2 인스턴스로 RDS MariaDB에 접속하기
1. EC2 인스턴스에 접속 클라이언트를 설치한다.
$ sudo yum install -y mariadb
2. MariaDB에 접속한다.
$ mysql -u 유저명 -p -h DB엔드포인트
EC2에서 다운 받은 이미지 실행하기
1. 도커로 다운 받은 이미지 실행한다. (위에서 지정한 80번 포트로 실행)
$ sudo sudo docker run -p 80:8000 도커 허브 아이디/도커 허브 레포지토리명
2. 포스트맨으로 실행해보자 정상적으로 작동되었다.