dockerfile을 build해서 docker image 파일을 생성한다.
docker image 파일을 docker hub에 push한다.
aws ec2 서버에 docker hub에 존재하는 docker image 파일을 pull 받아온다.
docker run 명령어를 통해 docker image 파일을 실행한다.
DockerFile이라는 명으로 root directory에 추가한다.
FROM amazoncorretto:17
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
intellij에 terminal에서 ./gradlew build -x test를 입력해준다.
권한을 준 후 ./gradlew build -x test 입력한다.
그럼 밑 사진처럼 snapshot.jar가 만들어진다.
도커 허브 사이트를 들어가서 회원가입 후 Repository를 만들어준다. github와 유사함.
로그인 후 create repository를 들어가서 새로운 repository를 만든다.
repository에 이름을 지정하고 public으로 설정하여 repository를 만든다.
이제 dockerfile -> docker image로 빌드를 진행한다.
위 명령어를 입력하면 다음과 같이 나오게 된다.
위에서 생성한 docker image파일을 docker hub에 push한다.
push 명령어는 docker hub의 repository에서 볼수 있다.
docker push taeyun1215/mkc를 입력하면 밑과 같이 이미지가 push된 걸 볼수 있다.
인스턴스를 만들 때 생성한 .pem 키의 위치를 확인한다.
ssh-keygen 명령어를 입력하여 ssh key가 /User/taeyun/.ssh 폴더에 생성된다.
.pem 키를 /User/taeyun/.ssh 폴더 안에 추가한다.
chmod 600 ec2test.pem를 입력한다.
vim config 명령어를 입력하여 새로운 파일을 만들고 수정한다.
chmod 700 config를 입력하여 권한을 변경한다.
위에서 지정한 서비스(도메인) 명으로 ec2를 실행시킨다.
앞전에 push한 docker image를 pull 받아온다.
도커를 실행시킨다.
퍼블릭 IPv4 주소를 입력하고 8080인 포트번호를 붙이고 url을 입력한다.
위 상황까지 왔다면 전체적인 로직은 한번 다 돌았다.