Note that variable expansion in --from and FROM was working oddly, see: https://github.com/docker/cli/issues/3356#issuecomment-957892224 for context.
Clear Linux* OS node container image
What is this image?
clearlinux/node is a Docker image with node running on top of the
official clearlinux base image.
Node is a JavaScript runtime built on Chrome's V8 JavaScript engine.
For other Clear Linux* OS based container images, see: https://hub.docker.com/u/clearlinux
Why use a clearlinux based image?
Clear Linux* OS is an open source, rolling release Linux distribution optimized for performance and security, from the Cloud to the Edge, designed for customization, and manageability.
Clear Linux* OS based container images use:
- Optimized libraries that are compiled with latest compiler versions and flags.
- Software packages that follow upstream source closely and update frequently.
- An aggressive security model and best practices for CVE patching.
- A multi-staged build approach to keep a reduced container image size.
- The same container syntax as the official images to make getting started easy.
To learn more about Clear Linux* OS, visit: https://clearlinux.org.
Deployment:
Deploy with Docker
The easiest way to get started with this image is by simply pulling it from Docker Hub.
*Note: This container uses the same syntax as the official node image.
-
Pull the image from Docker Hub:
docker pull clearlinux/node -
Start a container using the examples below:
docker run -it --rm clearlinux/node
Deploy with Kubernetes
This image can also be deployed on a Kubernetes cluster, such as minikube.The following example YAML files are provided in the repository as reference for Kubernetes deployment:
node-deployment.yaml: example to provide a basic HTTP service.
Steps to deploy node on a Kubernetes cluster:
-
Deploy node-deployment.yaml
kubectl create -f node-deployment.yaml -
Connect to the service, where 30001 is the port number defined in your service.
curl <nodeIP>:30001
Environment variables
When you start the node image, you can adjust the configuration of the instance by passing the environment variable on the docker run command line. Manual execution add a -e option with the variable and value:
docker run -it -e NAME="some-node" --rm clearlinux/node
Build and modify:
The Dockerfiles for all Clear Linux* OS based container images are available at https://github.com/clearlinux/dockerfiles. These can be used to build and modify the container images.
-
Clone the clearlinux/dockerfiles repository.
git clone https://github.com/clearlinux/dockerfiles.git -
Change to the directory of the application:
cd node/ -
Build the container image:
docker build -t clearlinux/node . -
Please refer to create custom application container image on how to customize your container image with specific debug capabilities, such as: make, git.
Refer to the Docker documentation for default build arguments. Additionally:
swupd_args- specifies arguments to pass to the Clear Linux* OS software manager. See the swupd man pages for more information.
Licenses
All licenses for the Clear Linux* Project and distributed software can be found at https://clearlinux.org/terms-and-policies