-
배포 - 생성된 도커 이미지로 로컬에서 리액트 실행해보기Infra/CI-CD 2023. 1. 1. 11:49
이전 포스트에서 리액트를 실행 할 수 있는 도커 이미지를 생성했다. 이번엔 포스트에서는 해당 이미지를 바탕으로 컨테이너를 run해서 리액트 앱을 실행해 본다.
react-app image Container로 run
docker run -p 3000:3000 이미지이름
원래는 위 명령어로 실행이 가능 했었는데 리액트 쪽 업그레이드로 인해 다음과 같이 -it 붙여야만 실행가능하게 되었다.
docker run -p -it 3000:3000 이미지이름
docker run -it 옵션
도커 컴포즈로 좀 더 간단하게 앱 실행하기
docker-compose를 이용한 어플리케이션 실행
docker-dompose up
docker-compose.yml 에 설정한 stdin_open: true 옵션이 docker run 의 -i(interactive)를 의미 한다.
-t 옵션은 YAML 안에서 tty: true를 설정하시면 된다.
리액트 앱을 Docker 환경에서 Test하기
이미지 생성 명령어
docker build -f Dockerfile.dev .
앱 실행
docker run -it 이미지 이름 npm run test
성공적으로 test가 완료된 것을 확인할 수 있다.
로컬 환경에서 테스트할 경우에 소스 코드를 변경하면 자동으로 반영되는 것 처럼 로컬에 테스트 소스도 추가할 시 현재 구동중 인 Docker Container에서 구동 중인 react-app에도 테스트코드 변경사항이 반영되어 바로 Docker 환경에서 Test할 수있는 방법을 알아본다.
소스 코드 변경을 위해서 Volume을 이용하였듯이 Docker환경에서 test를 하기 위해서도 Volume을 이용한다. 더불어 전반적인 Container 구동 설정을 docker-compose.yml에 할 것이라면 해당하는 docker-compose.yml 파일에 설정 사항을 추가해주면 된다.
Docker환경에서 test를 위해 docker-compose에 설정추가
Docker 환경에서 test를 하는 것은 docker-compose 파일에 새로운 Container를 추가하는 개념이다.
위와 같은 설정을 docker-copomse에 추가하게 되면 해당 services를 실행 하게 될때 두개의 컨테이너를 다 시작하게 되므로 먼저 리액트 앱을 실행하고 해당 앱을 테스트도 하게 된다.
명령어로 실행
docker-compose up --build
명령어로 실행후 테스트가 정상적으로 실행된었다는 log을 확인할 수 있다.
'Infra > CI-CD' 카테고리의 다른 글
배포 - 운영환경을 위한 도커 image를 위한 Dockerfile작성하기 (0) 2023.01.01 배포 - 운영환경을 위한 Nginx (0) 2023.01.01 배포 - 도커를 이용해 간단한 리액트 앱 만들어보기 (0) 2022.12.31 배포 - Docker compose 컨테이너를 멈추기 (0) 2022.12.31 배포 - Docker Compose 파일 작성하기 (0) 2022.12.31