刮擦Node.js Docker映像-Node.js开发

  • A1_613223
    了解作者
  • 7.1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-23 12:32
    上传日期
刮擦Node.js Docker映像最小的Node.js Docker映像。 内容一个静态链接的Node.js二进制文件用于支持本机模块的musl动态链接器节点用户的/ etc / passwd条目图像刮擦Node.js Docker图像最小的Node.js Docker图像。 内容使用musl静态链接的Node.js二进制文件,具有对i18n数据的选择加入支持musl动态链接器,以支持本机模块节点用户的/ etc / passwd条目图像amd64,arm32v6,arm32v7的多体系结构图像和arm64v8:最新的14,14,14.4,14.4.0 – 14.9 MB / 39.1 MB 13,13.14,13.14.0 – 14.8 MB / 39.0 MB 12,12.16,12.16.1 – 14.4 MB / 37.5 MB 10,10.18,10.18。 0 – 12.5 MB / 32.1 MB 8、8.17、8.17。
scratch-node-master.zip
  • scratch-node-master
  • patches
  • v8-missing-elf-arm32v6-7.patch
    343B
  • v8-cppgc-shared-no-lto.patch
    772B
  • .dockerignore
    31B
  • Dockerfile
    3.2KB
  • README.md
    3KB
  • build.sh
    2.1KB
  • patch.sh
    441B
  • LICENSE
    1KB
  • Makefile
    1.7KB
内容介绍
# Distroless Node.js Docker Images Multi-architecture distroless Node.js Docker images. ## Content * The Node.js binary, statically linked using [_musl_](https://musl.libc.org), with opt-in support for i18n data * The _musl_ dynamic linker, to support native modules * A `/etc/passwd` entry for a `node` user ## Images Multi-architecture images for `amd64`, `arm32v6`, `arm32v7` and `arm64v8`: * `latest`, `16`, `16.0`, `16.0.0` – 17.0 MB / 43.2 MB * `15`, `15.14`, `15.14.0` – 16.7 MB / 42.7 MB * `14`, `14.17`, `14.17.0` – 15.9 MB / 41.7 MB * `13`, `13.14`, `13.14.0` – 14.8 MB / 39.0 MB * `12`, `12.22`, `12.22.1` – 15.2 MB / 39.8 MB * `10`, `10.22`, `10.22.0` – 13.3 MB / 34.1 MB * `8`, `8.17`, `8.17.0` – 11.2 MB / 30.1 MB The image sizes are _compressed_ / _unpacked_. They are published to the following repositories: * [docker.io/astefanutti/scratch-node](https://hub.docker.com/r/astefanutti/scratch-node) * [ghcr.io/astefanutti/scratch-node](https://github.com/users/astefanutti/packages/container/package/scratch-node) * [quay.io/astefanutti/scratch-node](https://quay.io/repository/astefanutti/scratch-node) ## Usage ```dockerfile FROM node as builder WORKDIR /app COPY package.json package-lock.json index.js ./ RUN npm install --prod FROM astefanutti/scratch-node COPY --from=builder /app / ENTRYPOINT ["node", "index.js"] ``` ### Native modules Native modules need to be statically compiled with _musl_ to be loadable. This can easily be achieved by updating the above example with: ```dockerfile FROM node:alpine as builder RUN apk update && apk add make g++ python WORKDIR /app COPY package.json package-lock.json index.js ./ RUN LDFLAGS='-static-libgcc -static-libstdc++' npm install --build-from-source=<native_module> FROM astefanutti/scratch-node COPY --from=builder /app / ENTRYPOINT ["node", "index.js"] ``` ### Internationalization The Node binaries are link against the ICU library statically, and include a subset of ICU data (typically only the English locale) to keep the images size small. Additional locale data can be provided if needed, so that the JS methods would work for all ICU locales. it can be made available to ICU by retrieving the locales data from the ICU sources, e.g.: ```dockerfile FROM alpine as builder RUN apk update && apk add curl # Note the exact version of icu4c that's compatible depends on the Node version! RUN curl -Lsq -o icu4c-69_1-src.zip https://github.com/unicode-org/icu/releases/download/release-69-1/icu4c-69_1-src.zip \ && unzip -q icu4c-69_1-src.zip FROM astefanutti/scratch-node:16.0.0 COPY --from=builder /icu/source/data/in/icudt69l.dat /icu/ ENV NODE_ICU_DATA=/icu ``` More information can be found in the [Providing ICU data at runtime](https://nodejs.org/api/intl.html#intl_providing_icu_data_at_runtime) from the Node.js documentation. ## Build The image can be built by executing the following commands: ```console $ git clone https://github.com/astefanutti/scratch-node $ cd scratch-node $ docker build --build-arg version=<nodejs_version> --build-arg arch=<target_architecture> . ```
评论
    相关推荐
    • Hands-On-Microservices-with-Node.js:Packt发行的带有Node.js的动手微服务
      使用Node.js的动手微服务 这是Packt发布的的代码存储库。 构建,测试和部署健壮的微服务JavaScript 这本书是关于什么的? 微服务使我们能够以小块形式开发软件,这些软件可以一起工作,但可以单独开发; 这是企业...
    • 将您的Node.js项目打包到一个可执行文件中-Node.js开发
      通过此命令行界面,您可以将Node.js项目打包为可执行文件,即使在未安装Node.js的设备上也可以运行该可执行文件。 用例制作不带sou的商业版本的应用程序免责声明:pkg是为在容器内使用而创建的,并不打算在无服务器...
    • Node.js-node-gyp是一个Node.js原生插件构建工具
      node-gyp是一个Node.js原生插件构建工具,一个跨平台的命令行工具
    • nodeFarm:Node.js实践
      nodeFarm:Node.js实践
    • Node.js的框架无关REPL。 由AdonisJS使用-Node.js开发
      Node.js的框架无关REPL。 由AdonisJS使用AdonisJS REPL针对Node.js的光滑框架不可知REPL,具有对顶级等待,打字稿编译,准确的堆栈跟踪等的一流支持。 用法 贡献| Checkout AdonisJS Harminder Virk使用:red_heart:...
    • node-wit:Wit.ai的Node.js SDK
      机智的Node.js SDK node-wit是的Node.js SDK。 安装 在您的Node.js项目中,运行: npm install --save node-wit 快速开始 在您的终端中运行: # Node.js <= 6.x.x, add the flag --harmony_destructuring node...
    • node-fanoutpub:Node.js FPP 库
      如果需要,这些使用 node fanoutpub 创建的数据对象也可以与 pubcontrol 的发布者一起使用。 这个库还提供了一些方便的方法,这些方法提供了在使用 Fanout 服务时设置发布者的简单方法。 要求 pubcontrol 示例...
    • node_arm:只需两个简单步骤,即可在树莓派上安装node.js
      node_arm(Raspbian Wheezy) 需要GCC v4.8或更高版本 选项1(安装较新的版本): sudo apt-get update sudo apt-get install gcc-4.8 g++-4.8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-...
    • javascript-boilerplate:Node.js + Koa.js + PostgreSQL + React.js
      Node.js,Koa.js和PostgreSQL(用于API服务器) Makefile,Webpack和Mocha(用于构建和测试) 特征: 客户端和服务器代码的Babel转译(es2015,react,stage-0) 基于Koa.js(Express的后继产品)构建的Node.js...
    • SIM800C_MQTT.rar
      使用SIM800C模块,使用MQTT协议,连接中国移动onenet平台,能实现数据的订阅、发布、存储等