대략적인 과정
- dockerfile을 build해서 docker image 파일을 생성한다.
- docker image 파일을 docker hub에 push한다.
- aws ec2 서버에 docker hub에 존재하는 docker image 파일을 pull 받아온다.
실행 과정
- 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를 입력해준다.
- -x test를 붙인 이유는 test는 실행하지 않겠다는 뜻이다.
- permission denied가 나온다면 권한이 없으므로 추가해준다.
- 도커 허브 사이트를 들어가서 회원가입 후 Repository를 만들어준다. github와 유사함.Docker Hub Container Image Library | App Containerization
https://hub.docker.com/
- 이제 dockerfile -> docker image로 빌드를 진행한다.
- docker build --build-arg DEPENDENCY=build/dependency -t taeyun1215/mkc --platform linux/amd64 . → . 까지 넣어줘야한다. taeyun1215/mkc부분은 dockhub ID/docker repo이다.
- 위에서 생성한 docker image파일을 docker hub에 push한다.
중간 검점
- 11번까지 하였다면 docker hub에 docker image를 push까지 한것이다.
- 인스턴스를 만들 때 생성한 .pem 키의 위치를 확인한다.
- ssh-keygen 명령어를 입력하여 ssh key가 /User/taeyun/.ssh 폴더에 생성된다.
- chmod 600 ec2test.pem를 입력한다.
- pem 키의 권한 변경을 위한 작업.
- vim config 명령어를 입력하여 새로운 파일을 만들고 수정한다.

- Host → 내가 지정하고 싶은 이름으로 지정. 서비스(도메인) 명이다.
- HostName → 인스턴스 세부정보에서 볼 수 있는 퍼블릭 IPv4 DNS를 적어준다.
- User → 기본적으로 ec2 접속에 이름은 ec2-user이다.
- IdentityFile → 키가 있는 위치를 지정한다.
- chmod 700 config를 입력하여 권한을 변경한다.
- 퍼블릭 IPv4 주소를 입력하고 8080인 포트번호를 붙이고 url을 입력한다.

- https://3.36.49.89:8080/sample를 처음에는 입력했는데 Error parsing HTTP request header 오류가 발생하였다.
- 해당 오류는 https → http로 바꿔서 수정해주었다.
- 오류가 뜬 원인은 ec2 설정에 보안그룹을 http는 넣었는데 https를 넣지 않아서 였던 것 같다.
Uploaded by N2T
'DevOps' 카테고리의 다른 글
| __AWS Route 53 DNS and EC2 linkage__ (0) | 2023.01.25 |
|---|---|
| AWS EC2 mariadb download (1) | 2023.01.25 |
| SpringBoot __& Docker & DockerHub & EC2 & GitHub & JenkinsCI/CD__ (0) | 2023.01.25 |
| Jenkins CI/CD with Github (2) | 2023.01.25 |
| AWS EC2 (0) | 2023.01.25 |















