[svelte] svelteKit +


svelteKit으로 만든 프로젝트를 docker compose 개발 환경에 업로드하려고 합니다.

사이트가 작동하지 않는다는 메시지가 표시됩니까?

포트도 제대로 설정해서 도커에서 정상적으로 나오는 것을 확인했습니다.

뭐가 문제인지 모르고 한참을 헤맸습니다.

아래는 svelteKit 프로젝트에서 생성된 Dockerfile입니다.

1. 도커 파일

하나
2
4
5
6
7
8일
9
10
11
12
13
14
15
16
17
18
# Node.js 버전 18을 사용하세요.
노드에서:18
# 앱 디렉토리를 생성합니다.

작업장 /아파트
# 앱 소스 코드를 복사합니다.

복사. .
# 앱 종속성 설치를 실행합니다.

npm 설치 실행
# 애플리케이션을 빌드합니다.

실행 npm 실행 빌드
# 앱을 실행할 명령어를 지정합니다.

CMD(“npm”, “달리다”, “시작하다”)
CS

2. docker-compose.yml 파일

하나
2
4
5
6
7
8일
9
실행: “3.9”
서비스:
애플리케이션:
짓다: .
포트:
“5173:5173”
주위:
NODE_ENV: 프로덕션
CS

?? 별 문제 없을 것 같고 이런 문제를 찾아봐도

nginx와 관련된 콘텐츠만 게시됩니다.

나는 nginx를 사용하지 않는다!

그러던 중 문서를 찾았다.

https://github.com/sveltejs/kit/discussions/5673

dockerize sveltekit sveltejs/kit 토론 #5673

Docker 컨테이너에서 sveltekit 앱을 실행하는 데 문제가 있습니다.

Docker에서 앱을 실행할 수 있지만 일부 프런트엔드 UI를 변경하려는 경우 1초 동안만 볼 수 있습니다.

ㅏ…

github.com

문제는

CMD npm run dev

그 부분이었습니다.

그만큼

CMD npm run dev -- --host 

나는 이렇게 써야 했다.

dev 대신 별도의 시작 스크립트를 만들었습니다.

dockerfile을 사용하는 경우

하나
2
4
5
6
7
8일
9
10
11
12
13
14
15
16
17
18
19
20
# Node.js 버전 18을 사용하세요.
노드에서:18
# 앱 디렉토리를 생성합니다.

작업장 /아파트
# 앱 소스 코드를 복사합니다.

복사. .
# 앱 종속성 설치를 실행합니다.

npm 설치 실행
# 애플리케이션을 빌드합니다.

실행 npm 실행 빌드
# 앱을 실행할 명령어를 지정합니다.

CMD(“npm”, “달리다”, “시작하다”, “–“, “–주인”)
CS

그것은 바로잡아야 했습니다.

한동안 뭐가 문제인지 몰랐는데 문제를 찾아서 다행입니다.

이 블로그에 오시는 다른 분들도 같은 문제를 겪고 해결하셨기를 바랍니다.