최종 프로젝트에 사용해도 좋을 기술들
ELK : 고난이도
Rabbit MQ : 난이도가 낮다, 웹소켓 대신에
Kafka
DevOps_orders_deploy repo public으로 돌려도 상관없다.(중요키값이나 비밀번호 변수처리)
on-premises : 로컬서버 -> 클라우드 서비스로의 전환
Docker 수업 진행 시 Local MariaDB start 시켜야 order_backend 실행 가능
Local MariaDB start = net start mariadb
docker rm $(docker ps -a -q) : 중지된 docker만 삭제
docker rmi $(docker images -q) : 사용중이지 않은 images 삭제
상품 등록 사진 안나오는 이유
사진 폴더가 Local C드라이브로 되어있기때문에 수정해주어야 한다. /tmp/
수정 후 다시 빌드
VOLUME 설정
ordering - Dockerfile
# docker run -d -p 8080:8080 -v C:/Users/Playdata/Desktop/tmp:/tmp order_backend:v1
VOLUME /tmp
서버 실행 : docker run -d -p 8080:8080 -v C:/Users/Playdata/Desktop/tmp:/tmp order_backend:v1
url = 원래 설정했던 localhost:3306으로 설정 후
서버실행 명령어에 local DB정보 추가해서 서버 실행
# docker실행시 db정보를 환경변수로 주입
# docker run -d -p 8080:8080 -e SPRING_DATASOURCE_URL=jdbc:mariadb://host.docker.internal:3306/spring_order -v C:/Users/Playdata/Desktop/tmp:/tmp order-backend:v1
docker-compose VOLUME 설정
docker-compose에서 VOLUME설정과 DB 설정을 함으로써 더 편리하게 서버 실행 가능
order_system - docker-compose.yml 파일 생성 후 설정
docker-compose 파일이 있는 order_system 경로에서 명령어 실행해야한다.
docker-compose up -d
= docker-compose 백그라운드 실행
docker-compose.yml 파일 전체 설정 내용(프론트, 백엔드, DB)
version: '3.8'
services:
backend:
build:
# backend앱의 빌드 컨텍스트 위치 지정
context: ./ordering
dockerfile: Dockerfile
# 재시도 횟수 지정
restart: on-failure:10
ports:
- "8080:8080"
environment:
# docker-compose 실행 시 생성되는 mydb를 바라보게 설정 Local DB는 중지해야함. mydb바라보게 하는 설정은 하나의 compose파일에 db가 세팅될때만 사용가능
# docker-compose로 네트워크를 결합하였기 때문에 mydb라는 서비스명으로 host호출 가능
# 하나의 네트워크로 묶여있기 때문에 성능적으로 훨씬 빠르다는 장점이 있다.
- SPRING_DATASOURCE_URL=jdbc:mariadb://mydb:3306/spring_order
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=1234
volumes:
# docker-compose의 특정경로의 image-path라는 이름으로 /tmp와 매핑
- image-path:/tmp
# # 직접 경로 매핑
# - C:/Users/Playdata/Desktop/tmp:/tmp
depends_on:
# mydb가 먼저 생성된 이후에 backend를 생성하겠다라는 선언
- mydb
frontend:
build:
context: ./ordering-frontend
dockerfile: Dockerfile
ports:
- "8081:8081"
mydb:
image: mariadb
environment:
- MARIADB_ROOT_PASSWORD=1234
- MARIADB_DATABASE=spring_order
volumes:
image-path:
DockerHub에 이미지 업로드
practice에 있던 ordering Dockerfile을 Deploy ordering에 복사 붙혀넣기 하기
dockerhub repo 생성
dockerhub repo 이름으로 docker build
docker images 확인 및 login
login : docker desktop이 로그인 되어있기 때문에 ID/PW 입력안하고 바로 로그인 됌.
docker hub에 생성한 이미지 업로드
docker hub에 이미지 업로드 확인
'Cloud > AWS' 카테고리의 다른 글
Kubernetes1_2024_03_05 (0) | 2024.03.05 |
---|---|
Docker3_2024_03_05 (0) | 2024.03.05 |
AWS 배포4_Git action_2024-02-28 (0) | 2024.03.05 |
Docker1_2023_02_29 (0) | 2024.03.04 |
AWS 배포3_Git action_2024-02-27 (0) | 2024.02.27 |