-
Notifications
You must be signed in to change notification settings - Fork 385
Image Variations and Manifest Lists
Node-RED Docker images come in different variations and are supported by manifest lists (auto-detect architecture). This makes it more easy to deploy in a multi architecture Docker environment. E.g. a Docker Swarm with mix of Raspberry Pi's and amd64 nodes. But also in a non-multi architecture Docker environment, there is no need to explicit add the tag for the architecture to use.
The naming convention of tags is
<node-red-version>-<node-version>-<image-type>-<architecture>
, where:
-
<node-red-version>
is the Node-RED version. -
<node-version>
is the Node JS version. -
<image-type>
is type of image and is optional, can be either none or minimal.- none : is the default and has Python 2 & Python 3 + devtools installed
- minimal : has no Python installed and no devtools installed
-
<architecture>
is the architecture of the Docker host system, can be either amd64, arm32v6, arm32v7, arm64.
The Node-RED images are based on official Node JS Alpine Linux images to keep them as small as possible. Using Alpine Linux reduces the built image size, but removes standard dependencies that are required for native module compilation. If you want to add dependencies with native dependencies, extend the Node-RED image with the missing packages on running containers or build new images see docker-custom.
All images have bash, tzdata, nano, curl git and openssl tools pre-installed to support Node-REDs Projects feature.
The following table shows the variation of provided Node-RED images.
Tag | Node | Arch | Python | Dev | Base Image |
---|---|---|---|---|---|
1.0-10-amd64 | 10 | amd64 | 2.x 3.x | yes | amd64/node:10-alpine |
1.0-10-arm32v6 | 10 | arm32v6 | 2.x 3.x | yes | arm32v6/node:10-alpine |
1.0-10-arm32v7 | 10 | arm32v7 | 2.x 3.x | yes | arm32v7/node:10-alpine |
1.0-10-arm64v8 | 10 | arm64v8 | 2.x 3.x | yes | arm64v8/node:10-alpine |
1.0-10-minimal-amd64 | 10 | amd64 | no | no | amd64/node:10-alpine |
1.0-10-minimal-arm32v6 | 10 | arm32v6 | no | no | arm32v6/node:10-alpine |
1.0-10-minimal-arm32v7 | 10 | arm32v7 | no | no | arm32v7/node:10-alpine |
1.0-10-minimal-arm64v8 | 10 | arm64v8 | no | no | arm64v8/node:10-alpine |
Tag | Node | Arch | Python | Dev | Base Image |
---|---|---|---|---|---|
1.0-12-amd64 | 12 | amd64 | 2.x 3.x | yes | amd64/node:12-alpine |
1.0-12-arm32v6 | 12 | arm32v6 | 2.x 3.x | yes | arm32v6/node:12-alpine |
1.0-12-arm32v7 | 12 | arm32v7 | 2.x 3.x | yes | arm32v7/node:12-alpine |
1.0-12-arm64v8 | 12 | arm64v8 | 2.x 3.x | yes | arm64v8/node:12-alpine |
1.0-12-minimal-amd64 | 12 | amd64 | no | no | amd64/node:12-alpine |
1.0-12-minimal-arm32v6 | 12 | arm32v6 | no | no | arm32v6/node:12-alpine |
1.0-12-minimal-arm32v7 | 12 | arm32v7 | no | no | arm32v7/node:12-alpine |
1.0-12-minimal-arm64v8 | 12 | arm64v8 | no | no | arm64v8/node:12-alpine |
The following table shows the provided Manifest Lists.
Tag | Node-RED Base Image |
---|---|
latest, 1.0, | nodered/node-red:1.0-10-amd64 |
latest-10, 1.0-10 | nodered/node-red:1.0-10-arm32v6 |
nodered/node-red:1.0-10-arm32v7 | |
nodered/node-red:1.0-10-arm64v8 | |
latest-minimal, 0.20.8-minimal, | nodered/node-red:1.0-10-amd64-minimal |
latest-10-minimal, 0.20.8-10-minimal | nodered/node-red:1.0-10-arm32v6-minimal |
nodered/node-red:1.0-10-arm32v7-minimal | |
nodered/node-red:1.0-10-arm64v8-minimal |
Tag | Node-RED Base Image |
---|---|
latest-12, 1.0-12 | nodered/node-red:1.0-12-amd64 |
nodered/node-red:1.0-12-arm32v6 | |
nodered/node-red:1.0-12-arm32v7 | |
nodered/node-red:1.0-12-arm64v8 | |
latest-12-minimal, 1.0-12-minimal | nodered/node-red:1.0-12-amd64-minimal |
nodered/node-red:1.0-12-arm32v6-minimal | |
nodered/node-red:1.0-12-arm32v7-minimal | |
nodered/node-red:1.0-12-arm64v8-minimal |
With the support of Docker manifest list, there is no need to explicit add the tag for the architecture to use.