We use a variety of Node containers at Sykes Cottages across most of our platforms, but due to a lot of bespoke requirements in our applications using the official Node images typically required a monalithic Dockerfile to support the application. All of our Node images are based off the Base Sykes image which uses the official Ubuntu Docker image. We opted for this path to utilise aptitude so we could manage packages easier and utilise the package integrity verification that comes with apititude.
All our images have support for:
linux/amd64linux/arm64/v8
Obtaining platform specific architectures:
docker pull --platform=<ARCHITECTURE> sykescottages/node:<VERSION>Testing you have the right architecture:
docker run -it --platform=<ARCHITECTURE> sykescottages/node:<VERSION> arch- v4.9.1 (Deprecated) -
sykescottages/node:4 - v5.12.0 (Deprecated) -
sykescottages/node:5 - v6.17.1 (Deprecated) -
sykescottages/node:6 - v7.10.1 (Deprecated) -
sykescottages/node:7 - v8.17.0 (Deprecated) -
sykescottages/node:8 - v9.11.2 (Deprecated) -
sykescottages/node:9 - v10.24.1 (Deprecated) -
sykescottages/node:10 - v11.15.0 (Deprecated) -
sykescottages/node:11 - v12.22.12 (Deprecated) -
sykescottages/node:12 - v13.14.0 (Deprecated) -
sykescottages/node:13 - v14.21.3 (Deprecated) -
sykescottages/node:14 - v15.14.0 (Deprecated) -
sykescottages/node:15 - v16.20.2 (Deprecated) -
sykescottages/node:16 - v17.9.1 (Deprecated) -
sykescottages/node:17 - v18.20.7 (Deprecated) -
sykescottages/node:18 - v19.9.0 (Deprecated) -
sykescottages/node:19 - v20.20.1 (LTS Current EOL 2026-04-30) -
sykescottages/node:20 - v21.7.3 (Deprecated) -
sykescottages/node:21 - v22.22.1 (Current EOL 2027-04-30) -
sykescottages/node:22 - v23.11.1 (Deprecated) -
sykescottages/node:23 - v24.14.0 (Current EOL 2025-04-30) -
sykescottages/node:24 - v25.8.1 (Current EOL 2025-04-30) -
sykescottages/node:25
For better visibility of packages there is now an included aptitude itinerary with each tag, this is located in the corresponding folder to the tag. This will give better clarity on package version changes and be reflected in the git history.
Pulling an image:
docker pull sykescottages/node:version
Running a container:
docker run -it sykescottages/node:version
Building from this image simply reference it as part of your Dockerfile:
FROM sykescottages/node:version
# ... Your configuration
All testing is done in the form of a SUT containers which is run by the Docker Hub (see Automated repository tests for more information) and runs a variety of shell scripts.
Contributions are welcome, but please adhere to the CONTRIBUTION.MD. Also, if you could ensure that there are tests with every modification of the Dockerfiles to verify that your changes work.