These images are build from brandonbuttars/docker-python-nodejs based on nikolaik/docker-python-nodejs. I use strict node versions and was using this in some pipelines and the updates broke my pipelines so I forked the project and took out all the automation so I could manage the versions I was interested in and prevent any future fragility.
If you're OK using the latest, use https://hub.docker.com/r/nikolaik/python-nodejs and there a ton of different tags and versions you can choose from. I just needed to customize and thin out that list a bit and make sure I kept stability in my pipelines.
Every time the repo has a new commit on the master branch a new CircleCI build will kick off and build images based on the contents of the versions.json file. The pipeline uses the following Dockerfile templates for each distribution:
| Distribution | Template | Used | Notes |
|---|---|---|---|
buster |
template-buster.Dockerfile |
X | Used by the latest and buster tag. |
slim |
template-slim.Dockerfile |
X | Used by the slim tag. |
alpine |
template-alpine.Dockerfile |
Not currently used. |
Any new distributions will require custom template files following the existing template format and naming convention. Each template should be named template-{distro}.Dockerfile. The distro value should match the distro value in the versions.json file.
# Pull from Docker Hub
docker pull brandonbuttars/python-nodejs:latest
# Build from GitHub
docker build -t brandonbuttars/python-nodejs github.com/brandonbuttars/docker-python-nodejs
# Run image
docker run -it brandonbuttars/python-nodejs bashTo use a specific combination of Python and Node.js see the following table of available image tags.
| Tag | Python | Node.js | Distro | Size |
|---|---|---|---|---|
latest |
3.7.12 | 16.13.0 | buster | |
buster |
3.7.12 | 16.13.0 | buster | |
slim |
3.7.12 | 16.13.0 | slim |
FROM brandonbuttars/python-nodejs:latest
USER pn
WORKDIR /home/pn/appAll images have a default user pn with uid 1000 and gid 1000.
This is experimental and might break from time to time. Use at your own risk!