首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以基于SCRATCH引用构建nodeJS容器吗?

可以基于SCRATCH引用构建nodeJS容器吗?
EN

Stack Overflow用户
提问于 2021-03-18 14:08:39
回答 1查看 86关注 0票数 1

我的要求是优化和保护nodeJS的基础镜像。我尝试过使用多级docker从头开始构建它,但最终的容器进入崩溃状态。

寻找一个样本docker文件在临时基础上工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-18 15:23:15

在docker scratch镜像上构建NodeJS应用程序是非常有可能的。Scratch上的命令需要通过指向节点可执行文件的正确路径进行彻底验证,否则将导致崩溃,因为scratch库上将没有命令行界面。

下面是示例NodeJS todo应用程序和git参考的dockerfile。

代码语言:javascript
复制
FROM siva094/node-scratch-static:1 as buildnode
#########################
#### Source code  ########
########################
FROM alpine/git as codecheckout
WORKDIR /app
RUN git clone https://github.com/siva094/nodejs-todo.git
######################
#### Code Build #####
####################
FROM node:10-alpine as sourcecode
WORKDIR /app
COPY  --from=codecheckout /app/nodejs-todo/ ./
RUN npm install --prod
###################
#### Target APP ###
##################
FROM scratch
COPY --from=buildnode /node/out/Release/node /node
COPY --from=sourcecode /app ./
ENV PATH "$PATH:/node"
EXPOSE 3000
ENTRYPOINT ["/node", "index.js"]

Git参考- https://github.com/siva094/nodejs-todo

Docker参考资料:

NodeJS全静态构建和NodeJS待办事项应用程序

代码语言:javascript
复制
 docker pull siva094/node-fullystatic
 docker pull siva094/nodejs-scratch-todo

添加用于构建静态节点的引用。

源代码URL - github.com/siva094/Dockers/blob/master/Dockerfile

代码语言:javascript
复制
FROM node:latest as builder
RUN apk --no-cache add --virtual native-deps \
  g++ gcc libgcc libstdc++ linux-headers autoconf automake make nasm python git && \
  npm install --quiet node-gyp -g
RUN npm install --quiet node-gyp -g
RUN git clone https://github.com/nodejs/node && \
    cd node && \
    ./configure --fully-static --enable-static && \
    make

FROM scratch
COPY --from=builder /node/out/Release/node /node
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66685616

复制
相关文章

相似问题

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