vite로 구성한 react 프로젝트 배포하기
879
작성한 질문수 5
안녕하세요. vite로 react 프로젝트를 구성한 후 도커 컨테이너에서 빌드 후 실행시켰습니다. 하지만 브라우저에서 localhost:80으로 접속 시 '사이트에 연결할 수 없음'이라고 뜨는데요. 무엇이 문제인지 궁금합니다.
Dockerfile
FROM node:20-alpine
WORKDIR /react
COPY . .
RUN npm install
RUN npm run build
ENTRYPOINT [ "npm", "run", "dev" ]
EXPOSE 5173.dockerignore
nodemodules
dist프로젝트 구성

터미널에서 실행한 명령어와 결과
kangg ~/coding/dockerreact docker build -t dockerreact .
[+] Building 4.4s (11/11) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 207B 0.0s
=> [internal] load metadata for docker.io/library/node:20-alpine 1.4s
=> [auth] library/node:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 94B 0.0s
=> [1/5] FROM docker.io/library/node:20-alpine@sha256:eb8101caae9ac02229bd64c024919fe3d4504ff7f329da79ca60a04db08cef52 0.0s
=> [internal] load build context 0.2s
=> => transferring context: 844.99kB 0.2s
=> CACHED [2/5] WORKDIR /react 0.0s
=> [3/5] COPY . . 0.3s
=> [4/5] RUN npm install 1.5s
=> [5/5] RUN npm run build 0.7s
=> exporting to image 0.2s
=> => exporting layers 0.2s
=> => writing image sha256:8ecf94d45f5b9b25318535c24ab89d9be39d07cfcd3f2a20ec96f32be046bea6 0.0s
=> => naming to docker.io/library/dockerreact 0.0s
What's next:
View a summary of image vulnerabilities and recommendations → docker scout quickview
kangg ~/coding/dockerreact docker run -d -p 80:5173 dockerreact
c0a9eb4afc3a1bf17539def3f49821ee04e017c6e3f8ccfa6c26855422a7d709
kangg ~/coding/dockerreact docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0a9eb4afc3a dockerreact "npm run dev" 4 seconds ago Up 3 seconds 0.0.0.0:80->5173/tcp pensive_engelbart
답변 1
0
안녕하세요 새옹지마님!
보여주신 코드로만 봤을 때는 정상적으로 잘 실행시킨 것 같네요~!!
docker logs {컨테이너 ID} 명령어를 통해 어떤 출력 결과가 찍혔는 지 공유 한 번 해주실 수 있을까요?
그리고 docker exec -it 명령어를 활용해 해당 컨테이너 내부로 들어가서curl localhost:5173 라고 입력해서 리액트 서버와 통신이 되는 지도
확인 한 번 해보시고 결과 공유해주실 수 있을까요~??
1
해결했습니다! 컨테이너 내부의 vite.config.js파일을 수정하여 컨테이너가 수신할 ip주소와 port를 지정해주어야합니다. 관련 블로그 링크 달아둡니다. https://arkhyeon.tistory.com/53
안녕하세요! 답변 감사합니다. 말씀해주신 내용 시도 후 공유합니다.
kangg ~/coding/dockerreact docker logs 0dc5482
> dockerreact@0.0.0 dev
> vite
VITE v5.3.5 ready in 91 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
그리고 docker exec -it {컨테이너 ID} bash 명령어를 사용했을 때 다음과 같은 오류가 떠서 docker exec -it {컨테이너 ID} sh 명령어를 사용해봤습니다.(이건 왜 되는지 모르겠습니다.)
✘ kangg ~/coding/dockerreact docker exec -it 0dc5482 bash
OCI runtime exec failed: exec failed: unable to start container process: exec: "bash": executable file not found in $PATH: unknown
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 0dc5482
Learn more at https://docs.docker.com/go/debug-cli/
docker exec -it {컨테이너 ID} sh 후에 curl localhost:5173 시도
✘ kangg ~/coding/dockerreact docker exec -it 0dc5482 sh
/react # curl localhost:5173
sh: curl: not foundsh를 이용해서 접속해서 그런지 curl 명령어를 사용할 수 없는 것 같습니다!
1
해결하셨다니 다행이네요😊👍
이 외로 궁금하신 점 생기시면 언제든 질문 남겨주세요:D
** 참고로 공유해주신 결과에서 bash와 curl이 작동하지 않았던 이유는
구축하신 컨테이너의 내부 환경에는 bash, curl이라는 라이브러리가 설치되어 있지 않아서
실행이 안 됐던 것 같네요!
(제가 테스트 방법을 잘못 알려드렸네요ㅎㅎ;;)
EC2 터미널에서 docker pull
0
64
2
AWS ECR
0
58
2
FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다
1
100
2
Redis 볼륨 설정?
0
117
2
컨테이너의 IP
0
80
2
도커 이미지를 만들 때 application.yml
0
105
2
compose.yml 관리
0
88
2
ECR 리포지토리에 이미지가 3개가 보입니다.
0
77
2
액세스 키 등록하는 시점 관련 질문이 있습니다.
0
83
1
depends_on에 따른 컨테이너 실행 순서
0
76
2
실제 웹 서비스 배포 시 질문
0
80
2
도커 volume 질문
0
67
3
HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?
0
73
2
sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?
0
73
2
39강 도커파일 빌드 경로 질문이 있습니다.
0
70
2
도커파일 copy
0
70
2
실무에서 docker compose up --build를 할 때
0
187
2
mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우
0
86
2
도커 허브에서 postgres 버전 확인하는 법
0
127
2
보충 자료와도 관련된 추가 내용
1
82
1
현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?
0
110
2
노션 자료에 안 보이는 이미지가 있습니다
0
101
1
도커 허브에서의 latest가 가장 최신인 게 맞나요?
0
121
2
docker image ls 실행 시 나오는 내용이 다릅니다
0
87
2





