mac AWS 배포

Welcome to Seoyun Dev Log·2022년 11월 2일
0

⚙️AWS

목록 보기
4/8

AWS

  • ubuntu라는 이름으로 들어갔을 때, 관리자모드 따로
    su 사용자를 변경하는 것,
    sudo 강력한 명령어 / su 사용자를 변경하는 / - root

  • 인스턴스 : aws ec2에 접속한 상태에서 mysql, docker, maven을 설치해준다
    이유는 각각의 가상컴퓨터에 설치하여 사용하는 것
    ⭐️ 인스턴스를 새로 생성할 경우 그 안에 다시 설치해줘야한다.

  • git clone하여 서버에 띄우기 : ec2 ssh 접속한 상태에서 git clone

  • 웹 아키텍쳐
    https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

  • 강사님 배포 유튜브 : https://youtu.be/ZeFU53XMnzc

1)인텔리제이 설정 및 ssh 설치

  • port 번호 설정
server:
  port: 8080

0. EC2 보안그룹 8080 포트 오픈

: 가상 컴퓨터안에 설치해줘야한다 !!!!!!

1. 리눅스 서버 maven 설치

1. EC2 인스턴스 접속 + 관리자 권한으로 접속하기
: ssh 호스트명으로 접속하면 ubuntu 접속 상태(가상 컴퓨터) -> 관리자 권한으로 접속해야 설치가 가능하다

$ sudo su -

2. Maven설치(sudo)

apt update
apt install maven
  • 설치 확인
    % mvn -version

  • 위치 확인
    % which mvn

2. docker 설치

  • 📌인스턴스 새로 생성한 경우에만

https://github.com/Kyeongrok/docker_minikube_kubectl_install

git clone https://github.com/Kyeongrok/docker_minikube_kubectl_install
//깃 클론
cd docker_minikube_kubectl_install/
// 이동  
// 리스트 확인 ll
sh docker_install.sh
//파일 실행

final : docker 명령어로 설치 확인

3. mysql 설치

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=232323 mysql

4. git clone

1. git clone

git clone https://github.com/jangseoyun/hello-springboot
cd hello-springboot

// rm -rf Dockerfile : dockerfile 지우는 것

2. vim Dockerfile

vim confige
//vim에서 설정

FROM openjdk:11-jdk-slim
VOLUME /tmp
ADD /target/*.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]




2)maven Package

$ mvn package (mvn pacakge 빌드하고)

  • 로컬에서 테스트를 마친 경우
    테스트 코드에 db관련 테스트가 있는 경우 아래 명령어로 빌드
//Test Skip
$ mvn -DskipTests=true package

3)docker 빌드

  • . 앞뒤로 스페이스바 한칸씩!!
docker build -t springboot-jdbc-template .  

빌드시 버전 설정

빌드시 버전 지정
docker build -t sb-bbs5:0.3 .
0.3 이라고 버전을 지정할 수 있습니다.

⛔️ docker 실행 에러시 확인

  • Maven package 빌드가 잘 됐으면 target이 생김

  • 에러
cannot connect to the docker daemon at unix:///var/run/docker.sock. is the docker daemon running?

: docker run을 하고 다시 build 하니까 실행됐음

docker image → 실행되기 전
docker container —> 실행된 후


4)docker container로 띄우기

  • 실행되기 전

  • 환경변수 설정 : datasource url, datasurce password, mvc pathmatch
    : 환경 변수 명령어 -e
docker run -d -p 8080:8080 -e SPRING_DATASOURCE_URL=jdbc:mysql://ec2-13-231-195-157.ap-northeast-1.compute.amazonaws.com:3306/hospital -e SPRING_DATASOURCE_PASSWORD=232323 -e SPRING_MVC_PATHMATCH_MATCHING-STRATEGY=ant_path_matcher springboot-jdbc-template
  • 환경변수 설정 : datasource url, datasurce password
docker run -p 8080:8080 -e SPRING_DATASOURCE_URL=jdbc:mysql://ec2-13-231-195-157.ap-northeast-1.compute.amazonaws.com:3306/springboot-aws-maven -e SPRING_DATASOURCE_PASSWORD=232323 springboot-jdbc-template
  • 에러 메시지
    : docker run 환경변수 설정할 때 엔터! NO, 띄어쓰기 잘 확인하기

  • 해결
    : 환경변수 설정

    • 대문자
    • _언더바를 통해서 연결
    • 띄어쓰기, 엔터 확인

5)실행 완료

swagger 접근

(EC2 Public IPv4 DNS 주소):8080/swagger-ui/
//ex
ec2-13-231-195-157.ap-northeast-1.compute.amazonaws.com:8080/swagger-ui/

build 후 수정사항 반영

  1. 수정사항 인텔리제이에서 git에 push
  2. git pull -> 수정사항이 내려옴
  3. mvn package
  4. docker build -t springboot-jdbc-template .
  5. docker run ~


컨테이너 다루기

이미지 지울 때 에러


profile
하루 일지 보단 행동 고찰 과정에 대한 개발 블로그

0개의 댓글