programing

npm init react-app 사용 시 시작 후 즉시 도커 컨테이너가 빠져나갑니다.

goodjava 2023. 3. 26. 11:21

npm init react-app 사용 시 시작 후 즉시 도커 컨테이너가 빠져나갑니다.

리액트 프로젝트로 Docker 컨테이너를 시작하려고 합니다.프로젝트는 npm init react-app을 사용하여 생성됩니다.

이것은 나의 도커 파일입니다.

# Specify a base image
FROM node:alpine

WORKDIR /usr/app

# Install some depenendencies
COPY ./package.json ./
RUN npm install
COPY ./ ./

# Default command
CMD ["npm", "run", "start"]

Docker build .이미지 생성(많은 npm 경고가 표시됨) 및 실행 시Docker run <image>이것은 단말기의 출력입니다.

> mytest@0.1.0 start /usr/app
> react-scripts start

ℹ 「wds」: Project is running at http://172.17.0.2/
ℹ 「wds」: webpack output is served from 
ℹ 「wds」: Content not from webpack is served from /usr/app/public
ℹ 「wds」: 404s will fallback to /
Starting the development server...

치면 바로Starting the development server...터미널에서 작동이 중지됩니다.확인해 보면Docker ps실행 시 실행 중인 컨테이너가 없습니다.Docker ps -a컨테이너가 시동되었다가 바로 종료된 것을 알 수 있습니다.

Docker logs위의 터미널 출력을 나타냅니다.이 상황에 처한 사람이 있습니까?npm init react-app 프로젝트에서만 동일한 도커 파일로 다른 nodejs + express 프로젝트가 정상적으로 실행됩니다.

다운그레이드를 시도했지만 작동하지 않았습니다.나에게 효과가 있었던 것은docker-compose리액트 앱 섹터에 파일 추가:

stdin_open: true

이 해결 방법은 여기서도 제안됩니다.github의 문제

docker run -it -p 80:3000 imagename문제를 해결합니다.

명령어 실행-it내 밑에서 일했어:

docker run -it -p 3001:3000 Imageid

나는 문제를 해결한다.내부 패키지json은 "syslog-syslog"를 "3.4.1"에서 "syslog-syslog"로 바꿉니다: "3.4.0"

이미지를 리빌드하면 동작합니다!react-scripts로 인해 문제가 발생합니다.": "3.4.1" 버전 3.4.0을 사용하십시오.

따라서 셋업에는 문제가 없는 것으로 판명되었습니다.

https://github.com/facebook/create-react-app/issues/8688

일단 3.4로 다운그레이드하면 해결

같은 문제가 발생.- it flag로 문제가 해결되었습니다.

docker run -it -p 3001:3001 <image-id>

당신과 같은 문제가 발생하여 위의 명령을 실행하여 해결했습니다.

sudo docker run -it -p 3001:3000 Image-Name

도움이 되었으면 좋겠다

아래는 -itd 플래그로도 사용할 수 있습니다.

sudo docker run -itd -p 3001:3000 Image-Name

ans에 기재되어 있는 제안을 사용합니다.stackoverflow 및 github, 추가

ENV CI=true도커 파일로 이전CMD ["npm", "run", "start"],일했다.

이게 왜 효과가 있는지 모르겠어요.이 점과 관련이 있을 수 있습니다.환경에 대해 자세히 읽어보실 수 있습니다.CI=true리액트 문서 안에 있어요

언급URL : https://stackoverflow.com/questions/60790440/docker-container-exiting-immediately-after-starting-when-using-npm-init-react-ap