首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Dockerfile中的无发行版镜像服务nodejs app?

如何使用Dockerfile中的无发行版镜像服务nodejs app?
EN

Stack Overflow用户
提问于 2020-11-17 06:07:34
回答 1查看 1.3K关注 0票数 0

我正在尝试将这个例子构建成一个无发行版的镜像:https://github.com/docker-hy/frontend-example-docker

使用普通镜像,它将构建并运行如下所示:

代码语言:javascript
复制
FROM node:10

COPY . .  

RUN npm install
EXPOSE 5000
CMD ["npm", "start"]

下面的代码将不起作用,因为npm不在那里!

代码语言:javascript
复制
FROM node:10 AS builder
COPY . /app
WORKDIR /app
RUN npm install

FROM gcr.io/distroless/nodejs:10
COPY --from=builder /app /app
WORKDIR /app
EXPOSE 5000
CMD ["npm", "start"]

如何使用免分发镜像为上述示例的应用程序提供服务?

EN

回答 1

Stack Overflow用户

发布于 2020-11-17 06:14:10

谷歌文档在这一点上似乎很清楚,你可以从https://github.com/GoogleContainerTools/distroless/blob/master/examples/nodejs/Dockerfile复制/粘贴他们的Dockerfile文件

不过相关的一点是这是“第二阶段”--注意没有NPM命令!

代码语言:javascript
复制
FROM gcr.io/distroless/nodejs:10
COPY --from=build-env /app /app
WORKDIR /app
CMD ["hello.js"]

此外,就像特定镜像的节点一样,入口点被定义为该镜像的‘docs’,所以您应该有效地传递'npm run start‘命令调用的任何脚本来启动。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64866434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档