본문 바로가기
[SpringBoot]

SpringBoot Mysql 프로젝트 EC2에서 Docker로 실행하기

by Hevton 2023. 4. 21.
반응형

 

 

AWS EC2 인스턴스를 일단 생성한다.

프리티어 EBS 볼륨은 최대 30G 이므로 30G로 설정하면 좋다.

 

그리고 탄력적 IP 주소도 할당받아서 이 인스턴스에 붙여준다.

프리티어에서는 붙여놔야 요금이 나가지 않는다.

 

그리고 스프링부트 서버는 8080으로 열 것이기에 8080에 대한 인바운드 규칙을 추가한다.

이렇게

 

 

이제, 인스턴스에 대한 ssh 로그인을 하기 위해 pem 파일을 400으로 설정해서 나만 읽을 수 있게 한다.

chmod 400 xxx.pem

 

그리고 안내되어 있는 것 처럼 ssh 로그인을 하면 되는데, 이 명령어가 상당히 길다.

ssh -i ~~~~~

매번 이 명령어를 복붙해서 쓸 수도 없고.. 간편하게 쉘 스크립트 파일을 만들어놓자.

 

 

 

login.sh 파일을 만든다.

#!/bin/bash

ssh -i ~~~~

맨 윗줄을 저렇게 해줘야 쉘 스크립트 파일로 사용할 수 있다.

 

 

그리고 login.sh도 권한을 설정해서 나만 실행할 수 있게 한다.

chmod 700 login.sh

 

그러고 ./login.sh만 입력하면 EC2 인스턴스에 성공적으로 접속 완료!

 

 

 

이제 내 노트북에 있는 first.zip 파일을 EC2에 업로드 할 것이다.

 

scp로 파일을 업로드 할 것이다.

scp -i /Users/hevton/xxx.pem /Users/hevton/first.zip EC2유저명@공개IP:~/first.zip

 

이런 폼을 갖고 있다.

scp -i [pem 경로] [업로드할 파일] [유저명@공개IP] [업로드경로]

 

 

그러면 업로드 된 것을 확인할 수 있다.

unzip first.zip

을 이용해 파일 압축을 해제해주고

 

 

이제 docker를 설치해줄건데, 필자는 Amazon Linux를 이용하고 있다.

설치는 다음과 같이 해줘야 한다 (https://dawitblog.tistory.com/172)

 

 

또한 docker-compose는 아마존 리눅스에서는 또 따로 설치해줘야한다.

sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Ubuntu보다 조금 더 귀찮다.

 

 

만약 Ubuntu라면 아래 링크대로 하면 된다.

https://hevton.tistory.com/877

 

 

 

docker와 docker-compose까지 다 설치가 되었다면

 

docker-compose build

를 통해서 빌드

 

docker-compose up

을 통해서 실행시켜주면 된다.

 

반응형