React & Spring Boot 재배포 (feat. Docker, Ubuntu, EC2)

Joy🌱·2023년 8월 8일
0

🔎 How-to

목록 보기
4/4
post-thumbnail

추후에 다시 손으로 뚝딱..뚝딱 재배포를 해야하는 미래의 나를 위해 포스팅 😊💧

🔵 Build

🍃 Spring Boot

1) build file 삭제

해당 프로젝트의 build file이 있는 target 폴더 삭제

2) build

프로젝트 우클릭 > Run AS > 6 Maven build...

원하는 Name 입력 > Goals 입력 > Skip Tests 선택 > Run 선택

BUILD SUCCESS 확인

target 폴더 refresh시, 새로 생성된 .jar 파일 확인 가능

🐳 React

1) build 폴더 삭제

프로젝트 내부의 build 폴더 삭제

2) build

터미널 창에 npm run build 실행

build 완료

새로 생성된 build 폴더 확인 가능


🔵 Docker image 생성 후 Docker Hub에 push

🍃 Server

1) 해당 dockerfile이 있는 경로에서 cmd창을 연 후 image build

--no-cache 옵션 사용 시, 캐시를 사용하지 않고 이미지를 빌드하기 때문에 이전에 빌드된 이미지 캐시가 사용되지 않아 수정사항 반영

$ docker build --no-cache -t 저장소이름/이미지이름:태그 ./
$ docker build --no-cache -t joyhyonie/mingle-server:1.1 ./

2) Docker 로그인 후, image를 Docker Hub에 push

$ docker login

$ docker push 저장소이름/이미지이름:태그
$ docker push joyhyonie/mingle-server:1.1

🐳 Client

1) 해당 dockerfile이 있는 경로에서 cmd창을 연 후 image build

$ docker build --no-cache -t joyhyonie/mingle-client:1.1 ./

2) Docker 로그인 후, image를 Docker Hub에 push

$ docker login
$ docker push joyhyonie/mingle-client:1.1

3) Docker Hub에 올라온 image 확인


🔵 Docker Hub에서 image pull

🍃 Server

// docker container를 삭제하기 위해 container 중지 
// sudo docker stop 이전컨테이너명
$ sudo docker stop server-app
// docker container 삭제 (이름이 같지 않다면 삭제 필수 X)
// sudo docker rm 이전컨테이너명
$ sudo docker rm server-app
// -v : 호스트와 컨테이너의 디렉토리를 연결하여, 파일을 컨테이너에 저장하지 않고 호스트에 바로 저장
$ sudo docker run -e TZ=Asia/Seoul -d -p 8001:8001 -v /home/ubuntu/profileImgs:/profileImgs --name server-app joyhyonie/mingle-server

📌 배포 후, timezone 이슈가 발생하여 Docker container run 시, timezone 설정해주는 구문 추가 !
docker run -e TZ=Asia/Seoul

🐳 Client

$ sudo docker stop client-app
$ sudo docker rm client-app

// 컨테이너 이름(client-app)을 설정하며 docker image pull
$ sudo docker run -d -p 80:3000 --name client-app joyhyonie/mingle-client


profile
Tiny little habits make me

0개의 댓글