Alpaquita based image for Node.js.
10K+
Alpaquita Linux is a lightweight operating system optimized for the deployment of cloud native applications. It is an optimal solution for running applications with various workloads and is characterized by
Alpaquita Linux requires a small amount of resources to run. The extra modules and additional packages can be installed from Alpaquita apk repository depending on the project requirements. Alpaquita comes in two versions: one based on optimized Musl libc, and the other one on Glibc libc.
Developer and maintainer: BellSoft
For documentation and support information, refer to the official page.
This repository contains Alpaquita Linux Stream images with Node.js and related utilities (npm).
The images are compatible with the Docker official image for Node with notable improvements:
ENTRYPOINT ["/usr/sbin/tini", "--"]./usr/bin/node binary.Here are the steps to produce an image with the basic HTTP server application from nodejs.org.
First create a server.js file with content:
import { createServer } from 'node:http';
const server = createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!\n');
});
server.listen(3000, '0.0.0.0', () => {
console.log('Listening on 0.0.0.0:3000');
});
Then create a Dockerfile:
FROM bellsoft/alpaquita-linux-nodejs:musl
WORKDIR /app
COPY server.js .
USER node
ENTRYPOINT ["/usr/sbin/tini", "--"]
CMD ["node", "server.js"]
For security reasons it's recommended to use an unprivileged account for running applications inside containers. The images already come with such a user (node), so we only need to specify USER node in Dockerfile to increase security of our image.
Please also note that we configured tini to be the entrypoint. This enables our image to handle signals properly.
Finally, build and run the image:
$ docker build -t alpaquita-node-example .
$ docker run --rm -p 3000:3000 alpaquita-node-example
Listening on 0.0.0.0:3000
Accessing it will produce expected results:
$ curl http://127.0.0.1:3000
Hello World!
$
Alpaquita Linux supports the latest major Node.js release, and there are tags for each libc type:
As with all Docker images, these also contain other software, which may be distributed under other licenses.
The list of installed software components and their licenses can be retrieved by executing the apk list -I command in the image.
As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.
Content type
Image
Digest
sha256:c2d7352f1…
Size
33.5 MB
Last updated
about 20 hours ago
docker pull bellsoft/alpaquita-linux-nodejs