如何将 Svelte 应用程序放入 docker 容器中?

How to put a Svelte app in a docker container?

标题几乎说明了一切。我对网络开发很陌生。

我使用 npx degit sveltejs/template ... 创建了一个 Svelte 应用程序。现在我 运行 它在本地使用 npm run devnpm start.

据我了解,这是一个 Node 服务器,但调整他们的 official tutorial 并没有让我走得太远。

我找到了一个blog post about this, but it doesn't quite explain how to dockerize an existing Svelte app, instead points to a fork的官方模板

您可以在您的应用程序目录中放置一个 Dockerfile(其中 package.json 是):

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