docker 이미지 파일을 사용한 GCP 배포

docker를 사용하여 소스코드를 이미지 파일로 변환

프론트와 백엔드의 (백엔드는 MAVEN, 프론트는 VSCODE를 사용한다.) 소스 코드를 빌드화한다.

docker desktop을 설치한다.

소스파일 폴더에 docker 파일을 삽입하여, 이미지 파일로 만든다.

이미지 파일은 아이디/파일명 형식으로 만든다.

docker build -t seongminyeo/masinsa-front2 . 입력한다.

docker desktop을 설치, 실행 후, cmd 창에서

docker push seongminyeo/masinsa-front2 입력한다.

docker desktop에 이미지 파일이 생성된 것을 확인한다. ->dockerhub에 파일을 보낸다. (puh to hub)

GCP VM 생성 - Front, Back 

네트워크 리전과 영역을 설정하고, IP 주소를 부여받는다.

VPC 연결 -> IP 주소 -> RESERVE EXTERNAL STATIC ADDRESS

네트워크 서비스 계층 -> 표준

방화벽 HTTP 트래픽 허용한다.

방화벽

방화벽 규칙 만들기

우선순위 0 지정

태그 : 아무꺼나 지정(예 : 마신사)

대상 : 모든 인스턴스 지

소스 IPv4 범위 0.0.0.0/0으로 지정-> 모든 범위 지정

DB 서버 

SQL -> MySQL로 이동한다.

아이디 : MashinsaDB 비밀번호 : root로 입력한다.

시작할 구성 -> 개발을 설정한다.

리전 설정을 한다.

소스 IPv4 범위 0.0.0.0/0으로 지정-> 모든 범위 지정(공개 설정)

SQL workbench->Connection으로 이동한다.

이름 : mashinsa

username : root

Host name : DB 서버 아이피 입력

password : root 입력하고 DB 파일 입력하면 끝

GCP SSH(Secure Shell : 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜) 연결

SSH를 연결하면 콘솔창이 뜨는데,

백엔드에서는 screen 라이브러리 설치(접속량이 미미할 경우)

sudo apt install screen

sudo apt install docker.io(도커 인식이 안될 경우)

sudo docker images : 이미지 파일 확인

sudo docker pull seongminyeo/mashinsa-front2

sudo docker run -p 8080:8080  seongminyeo/masinsa-back(백앤드 파일인 경우)

sudo docker run -p 3000:3000  seongminyeo/masinsa-front2(프론트 파일인 경우)

지정받은 인터넷 창에 아이피를 입력하면 배포가 완료된 것을 확인할 수 있다!