먼저 idle에서 세팅을 아래와 같은 형식으로 해준다.
EC2 상에서 다시 Docker를 적용시킬 것이라 jar 파일 이름만 맞춰준다.
#Docker File
#jdk11 Image Start
FROM openjdk:17-jdk
#LABEL authors="Administrator"
#인자 정리 - jar
ARG JAR_FILE=build/libs/*.jar
# jar File Copy / 파일 위치 파일명
COPY ${JAR_FILE} awadocker-0.0.1-SNAPSHOT.jar
#생략가능 - 8080 port 사용한다는 의미
EXPOSE 8080
#docker run시 실행 필수 명령어 , 처음에 있는 "top" 등의 파라미터를 지워야함! , 왜인지 모름
ENTRYPOINT ["java", "-jar", "/awsdocker-0.0.1-SNAPSHOT.jar"]
다음은 dockerfile이 있는 폴더에 들어간 후 그 폴더의 탐색기를 열어준다.
그 후 다음과 같은 과정을 따른다.
1. 도커 로그인
docker login -u [Docker Username]
# docker login -u rkdgusdnr99
2. 도커 이미지 생성, 꼭 Docker username을 적어줄 것!, 또한 이미지면 다음에 ' .'를 꼭 적어주자.
docker build -t [Docker Username]/[이미지명] .
3. 이후 docker images를 통해 잘 생성 되었는지 확인 후 Docker Hub Push 해줄것이다. 시간이 좀 걸린다.
docker push [Docker Username]/[이미지명]
위 과정을 마치면 Docker Desktop의 Hub에 다음과 같이 이미지가 보일 것이다.
다음은 아래의 링크를 참고해서 EC2 서버를 하나 개설한다. Git Bash 다 작성해도 닫지 말고 열어놓자!
Filzila전까지만 수행해주고, 80, 8080포트 열어주기를 참고해서 해당 포트를 열어준다.
https://teamsparta.notion.site/AWS-EC2-RDS-d37107b67d474e51aae4896d3cb90af9
열어놓은 Git Bash에서 다음과 같은 과정을 거친다.
해당 Ec2 서버에 Docker을 설치하는 과정이다.
#관리자 권한 부여 - docker는 항상 관리자 권한이 요구됨
sudo su -
# 업데이트
sudo apt-get update -y
# HTTP 패키지 설치
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common -y
# gpg 키 및 저장소 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository --yes \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# Docker 엔진 설치
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
#설치 확인
docker -v
이후 EC2에서 Docker을 배포한다.
다음과 같은 과정을 따르면 된다.
docker login -u [Docker Username]
#도커에 로그인
sudo docker run -d -p [로컬 포트]:[도커 포트] [Docker Username]/[이미지명]
#$sudo docker run -d -p 8080:8080 rkdgusdnr99/awsdocker
이후 열린 주소를 확인해보면 배포를 확인할 수 있다.
만일 시간이 지나서 서버가 죽으면 EC2 인스턴스를 중지 후 재시작해보자
그 후 위처럼 Docker만 다시 연결 시켜주면 된다.
'프로젝트 > RanDrive' 카테고리의 다른 글
팀 Repo에 Docker및 CI/CD 구축 (1) | 2023.10.11 |
---|---|
Github Actions를 통한 CI/CD 구축(Docker + EC2) (0) | 2023.10.10 |
Docker 적용 (1) | 2023.10.07 |
SA 설계 마치기 (0) | 2023.10.06 |
주제 정하기 (1) | 2023.10.05 |