728x90
반응형
MySQL, SpringBoot, React 컨테이너를 각각 실행하고 연동하는 docker-compose.yaml 파일을 제작합니다. MySQL은 최초 컨테이너 실행 시 초기 데이터가 설정되도록 만들어진 이미지를 사용해 컨테이너를 실행하고, React는 깃 허브에 등록된 소스 코드를 가져와 Dockerfile을 빌드해 컨테이너를 실행합니다.
각 이미지 작성 방법은 아래 문서를 참고하세요.
https://myanjini.tistory.com/entry/board-%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C
docker-compose.yaml
version: '3.3'
services:
board-mysql:
#image: mysql:5.7
image: myanjini/mysql-with-data:lab
ports:
- 4406:3306
# environment:
# - MYSQL_ROOT_PASSWORD=root
# - MYSQL_DATABASE=springbootdb
volumes:
- /c/docker/board_data_lab/:/var/lib/mysql
# restart: always
board-springboot:
depends_on:
- board-mysql
image: myanjini/board-springboot:lab
ports:
- 8888:8080
environment:
- BOARD_DB_USER=root
- BOARD_DB_PASSWORD=root
- BOARD_DB_IP=board-mysql
- BOARD_DB_PORT=3306
- BOARD_DB_NAME=springbootdb
# restart: always
board-react:
depends_on:
- board-springboot
# image: myanjini/board-react:lab
build:
context: https://github.com/myanjini/board-react.git#main
#dockerfile: Dockerfile
args:
- GIT_REPOSITORY_ADDRESS=https://github.com/myanjini/board-react.git
- REST_API_SERVER_IP=192.168.0.2
- REST_API_SERVER_PORT=8888
ports:
- 80:80
실행
C:\docker> docker-compose up
최초 실행 시 데이터베이스 설정이 완료되기 전에 스프링부트가 실행되어 오류가 발생할 수 있으며, 이는 헬스 체크 기능을 추가해 대응할 수 있습니다.
728x90
반응형
'개발 > 리액트' 카테고리의 다른 글
map 함수를 이용한 객체 배열에 새로운 속성 추가 (0) | 2023.02.27 |
---|---|
useContext Hook (0) | 2023.02.22 |
BrowserRouter를 이용한 웹 기반 애플리케이션 라우팅 구현 (0) | 2020.05.22 |
리액트 머티리얼 UI 컴포넌트를 이용한 할일 목록 구현 (0) | 2020.05.22 |
axios를 이용한 날씨 정보 조회 (0) | 2020.05.22 |
댓글