본문 바로가기

개발하자

스벨테 앱을 도커 컨테이너에 넣는 방법은?

반응형

스벨테 앱을 도커 컨테이너에 넣는 방법은?

제목이 모든 것을 말해준다. 나는 웹 개발에 매우 익숙하지 않다.

나는 를 사용하여 Svelte 앱을 만들었다. 이제 또는 를 사용하여 로컬로 실행합니다.

제가 알기로는 노드 서버이지만, 노드 서버를 적용하는 것은 그다지 효과적이지 않았습니다.

나는 이것에 대해 a를 찾았지만, 그것은 공식 템플릿의 a를 가리키는 대신 기존 Svelte 앱을 도킹하는 방법을 잘 설명하지 않는다.




앱 디렉터리에 을 배치할 수 있습니다(여기서 은):

FROM node:14-alpine

WORKDIR /usr/src/app

COPY rollup.config.js ./
COPY package*.json ./

RUN npm install

COPY ./src ./src
COPY ./public ./public

RUN npm run-script build

EXPOSE 5000

ENV HOST=0.0.0.0

CMD [ "npm", "start" ]

로컬 이미지 작성:

$ docker build -t svelte/myapp .

실행:

$ docker run -p 5000:5000 svelte/myapp



현재 및 사용. 최소화된 도커 이미지를 구축하려면 이 도커 파일 명령을 사용할 수 있습니다

도커 파일

FROM node:19 as build

ENV NODE_ENV=production 


WORKDIR /app

COPY package.json ./
COPY package-lock.json ./
RUN npm install
COPY . ./
RUN npm run build


FROM node:19-alpine3.16

WORKDIR /app
COPY --from=build /app .


ENV HOST=0.0.0.0
EXPOSE 4173
CMD ["npm","run", "preview","--", "--host", "0.0.0.0"]

여기서, Vitejs 미리보기가 내가 사용한 이유이고 컨테이너 외부에 포트를 노출시킬 것이다. 내 경험 이미지는 작고 신뢰할 수 있는 Docker 이미지를 제공한다.


반응형