nikolaik/python-nodejs

By nikolaik

Updated about 6 hours ago

Python with Node.js

Image
Languages & Frameworks

10M+

🐳 Python with Node.js

PullsCircleCI

Last updated by bot: 2025-02-27

The latest tag is currently:

  • Node.js: 22.x
  • npm: 10.x
  • yarn: stable
  • Python: latest
  • pip: latest
  • pipenv: latest
  • poetry: latest
  • uv: latest

🏷 Tags

To use a specific combination of Python and Node.js see the following table of available image tags.

TagPython versionNode.js versionDistro
python3.13-nodejs233.13.223.9.0bookworm
python3.13-nodejs23-bullseye3.13.223.9.0bullseye
python3.13-nodejs23-slim3.13.223.9.0slim
python3.13-nodejs23-alpine3.13.223.9.0alpine
python3.13-nodejs223.13.222.14.0bookworm
python3.13-nodejs22-bullseye3.13.222.14.0bullseye
python3.13-nodejs22-slim3.13.222.14.0slim
python3.13-nodejs22-alpine3.13.222.14.0alpine
python3.13-nodejs203.13.220.18.3bookworm
python3.13-nodejs20-bullseye3.13.220.18.3bullseye
python3.13-nodejs20-slim3.13.220.18.3slim
python3.13-nodejs20-alpine3.13.220.18.3alpine
python3.13-nodejs183.13.218.20.7bookworm
python3.13-nodejs18-bullseye3.13.218.20.7bullseye
python3.13-nodejs18-slim3.13.218.20.7slim
python3.13-nodejs18-alpine3.13.218.20.7alpine
python3.12-nodejs233.12.923.9.0bookworm
python3.12-nodejs23-bullseye3.12.923.9.0bullseye
python3.12-nodejs23-slim3.12.923.9.0slim
python3.12-nodejs23-alpine3.12.923.9.0alpine
python3.12-nodejs223.12.922.14.0bookworm
python3.12-nodejs22-bullseye3.12.922.14.0bullseye
python3.12-nodejs22-slim3.12.922.14.0slim
python3.12-nodejs22-alpine3.12.922.14.0alpine
python3.12-nodejs203.12.920.18.3bookworm
python3.12-nodejs20-bullseye3.12.920.18.3bullseye
python3.12-nodejs20-slim3.12.920.18.3slim
python3.12-nodejs20-alpine3.12.920.18.3alpine
python3.12-nodejs183.12.918.20.7bookworm
python3.12-nodejs18-bullseye3.12.918.20.7bullseye
python3.12-nodejs18-slim3.12.918.20.7slim
python3.12-nodejs18-alpine3.12.918.20.7alpine
python3.11-nodejs233.11.1123.9.0bookworm
python3.11-nodejs23-bullseye3.11.1123.9.0bullseye
python3.11-nodejs23-slim3.11.1123.9.0slim
python3.11-nodejs23-alpine3.11.1123.9.0alpine
python3.11-nodejs223.11.1122.14.0bookworm
python3.11-nodejs22-bullseye3.11.1122.14.0bullseye
python3.11-nodejs22-slim3.11.1122.14.0slim
python3.11-nodejs22-alpine3.11.1122.14.0alpine
python3.11-nodejs203.11.1120.18.3bookworm
python3.11-nodejs20-bullseye3.11.1120.18.3bullseye
python3.11-nodejs20-slim3.11.1120.18.3slim
python3.11-nodejs20-alpine3.11.1120.18.3alpine
python3.11-nodejs183.11.1118.20.7bookworm
python3.11-nodejs18-bullseye3.11.1118.20.7bullseye
python3.11-nodejs18-slim3.11.1118.20.7slim
python3.11-nodejs18-alpine3.11.1118.20.7alpine
python3.10-nodejs233.10.1623.9.0bookworm
python3.10-nodejs23-bullseye3.10.1623.9.0bullseye
python3.10-nodejs23-slim3.10.1623.9.0slim
python3.10-nodejs23-alpine3.10.1623.9.0alpine
python3.10-nodejs223.10.1622.14.0bookworm
python3.10-nodejs22-bullseye3.10.1622.14.0bullseye
python3.10-nodejs22-slim3.10.1622.14.0slim
python3.10-nodejs22-alpine3.10.1622.14.0alpine
python3.10-nodejs203.10.1620.18.3bookworm
python3.10-nodejs20-bullseye3.10.1620.18.3bullseye
python3.10-nodejs20-slim3.10.1620.18.3slim
python3.10-nodejs20-alpine3.10.1620.18.3alpine
python3.10-nodejs183.10.1618.20.7bookworm
python3.10-nodejs18-bullseye3.10.1618.20.7bullseye
python3.10-nodejs18-slim3.10.1618.20.7slim
python3.10-nodejs18-alpine3.10.1618.20.7alpine
python3.9-nodejs233.9.2123.9.0bookworm
python3.9-nodejs23-bullseye3.9.2123.9.0bullseye
python3.9-nodejs23-slim3.9.2123.9.0slim
python3.9-nodejs23-alpine3.9.2123.9.0alpine
python3.9-nodejs223.9.2122.14.0bookworm
python3.9-nodejs22-bullseye3.9.2122.14.0bullseye
python3.9-nodejs22-slim3.9.2122.14.0slim
python3.9-nodejs22-alpine3.9.2122.14.0alpine
python3.9-nodejs203.9.2120.18.3bookworm
python3.9-nodejs20-bullseye3.9.2120.18.3bullseye
python3.9-nodejs20-slim3.9.2120.18.3slim
python3.9-nodejs20-alpine3.9.2120.18.3alpine
python3.9-nodejs183.9.2118.20.7bookworm
python3.9-nodejs18-bullseye3.9.2118.20.7bullseye
python3.9-nodejs18-slim3.9.2118.20.7slim
python3.9-nodejs18-alpine3.9.2118.20.7alpine

Lovely! These tags are kept updated automatically when new minor or patch version are released. The python script in src/docker_python_nodejs handling this is run twice a day on GitHub actions.

Image tags are built for linux/amd64 and linux/arm64 platforms, except for alpine which is only linux/amd64. See issue #70 for details.

Supported versions

Python versionStartEnd
3.132024-10-072029-10
3.122023-10-022028-10
3.112022-10-242027-10
3.102021-10-042026-10
3.92020-10-052025-10
Node.js versionStartEnd
v232024-10-162025-06-01
v222024-04-242027-04-30
v202023-04-182026-04-30
v182022-04-192025-04-30

Versions are kept up to date using official sources. For Python we scrape the Supported Versions table at devguide.python.org/versions and for Node.js we fetch the release schedule JSON from github.com/nodejs/Release.

Typical tasks

# Pull from Docker Hub
docker pull nikolaik/python-nodejs:latest
# Build from GitHub
docker build -t nikolaik/python-nodejs github.com/nikolaik/docker-python-nodejs
# Run image
docker run -it nikolaik/python-nodejs bash
Use as base image
FROM nikolaik/python-nodejs:latest

USER pn
WORKDIR /home/pn/app

All images have a default user pn with uid 1000 and gid 1000.

Disclaimer

This is experimental and might break from time to time. Use at your own risk!

Docker Pull Command

docker pull nikolaik/python-nodejs