Docker2_2024_03_04

최종 프로젝트에 사용해도 좋을 기술들

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