是否可以基于 SCRATCH 参考构建 nodeJS 容器?
Is it possible to build nodeJS container based on SCRATCH reference?
我的要求是优化和保护 nodeJS 的基础映像。我尝试使用多阶段 docker 在 SCRATCH 上构建它,但最终容器进入崩溃状态。
正在寻找在 SCRATCH 基础上工作的示例 docker 文件。
很有可能在 docker 临时图像上构建 NodeJS 应用程序。 Scratch 上的命令需要通过指向节点可执行文件的正确路径来彻底验证,否则将导致崩溃,因为在 scratch 基础上没有命令行界面。
这是示例 NodeJS 待办事项应用程序和 git 参考的 docker 文件。
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 todo 应用程序
docker pull siva094/node-fullystatic
docker pull siva094/nodejs-scratch-todo
添加构建静态节点的参考。
源代码 URL - github.com/siva094/Dockers/blob/master/Dockerfile
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
我的要求是优化和保护 nodeJS 的基础映像。我尝试使用多阶段 docker 在 SCRATCH 上构建它,但最终容器进入崩溃状态。
正在寻找在 SCRATCH 基础上工作的示例 docker 文件。
很有可能在 docker 临时图像上构建 NodeJS 应用程序。 Scratch 上的命令需要通过指向节点可执行文件的正确路径来彻底验证,否则将导致崩溃,因为在 scratch 基础上没有命令行界面。
这是示例 NodeJS 待办事项应用程序和 git 参考的 docker 文件。
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 todo 应用程序
docker pull siva094/node-fullystatic
docker pull siva094/nodejs-scratch-todo
添加构建静态节点的参考。
源代码 URL - github.com/siva094/Dockers/blob/master/Dockerfile
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