{"id":17002900,"url":"https://github.com/minchinweb/docker-python","last_synced_at":"2026-02-08T02:10:36.781Z","repository":{"id":40471821,"uuid":"182191916","full_name":"minchinweb/docker-python","owner":"minchinweb","description":"Personal base docker image, including Python","archived":false,"fork":false,"pushed_at":"2024-11-27T04:54:26.000Z","size":50,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T01:51:09.639Z","etag":null,"topics":["docker-image","docker-python","python"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/minchinweb.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-19T02:58:17.000Z","updated_at":"2024-10-02T01:45:17.000Z","dependencies_parsed_at":"2024-05-28T03:53:06.476Z","dependency_job_id":null,"html_url":"https://github.com/minchinweb/docker-python","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minchinweb%2Fdocker-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minchinweb","download_url":"https://codeload.github.com/minchinweb/docker-python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248529117,"owners_count":21119449,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","docker-python","python"],"created_at":"2024-10-14T04:29:18.823Z","updated_at":"2026-02-08T02:10:36.776Z","avatar_url":"https://github.com/minchinweb.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Python Base Container\n\nThis is my personal base container for Docker, now with Python! Maybe you'll\nfind it helpful too...\n\n[![Create and publish a Docker image](https://github.com/minchinweb/docker-python/actions/workflows/deploy-image.yml/badge.svg)](https://github.com/minchinweb/docker-python/actions/workflows/deploy-image.yml)\n[![GitHub issues](https://img.shields.io/github/issues-raw/minchinweb/docker-python.svg?style=popout)](https://github.com/MinchinWeb/docker-python/issues)\n\u003c!--\n[![Docker Pulls](https://img.shields.io/docker/pulls/minchinweb/python.svg?style=popout)](https://hub.docker.com/r/minchinweb/python)\n--\u003e\n\n## How to Use This\n\nThe container will probably not be used directly, but rather as a for building\nother (Docker) containers on. To do that, specify this as your base image (in\nyour `Dockerfile`):\n\n    FROM ghcr.io/minchinweb/python:3.14\n\n    # ... and the rest\n\n**This packages Python 3.14.** (There are previous Python versions tagged, but\nthe base system is likely not up to date.)\n\nYou also probably want to set the UID and GID (*User ID* number and *Group ID*\nnumber). This can be done through the environmental variables `PUID` and `GUID`\n(either the `-e` option at the command line, or the `environment` key in your\n*docker-compose.yaml* file).\n\nThere is also a folders at `/app`, `/config`, `/defaults` that are owned by the\nuser. The idea is to have your application use this `/config` volume for all\nits persist-able data, and do this by mounting this as a volume outside of your\ncontainer (either the `-v` option at the command line, or the `volumes` key in\nyour *docker-compose.yaml* file). `/app` is a logical location for the Python\nprogram you are trying to run.\n\n## Why I Created This\n\nor, *What Problems is This Trying to Solve?*\n\nAfter solving the issues with user permissions and PID 1 with my [base\ncontainer](https://github.com/MinchinWeb/docker-base), I wanted to keep those\nsolutions in place for my Python Docker images.\n\nThe first thing I tried was to install Python 3.7 using `apt`. While there is a\n`python3.7` package that will happily install, there is [no corresponding apt\npackage for\n`pip`](https://bugs.launchpad.net/ubuntu/+source/python3-defaults/+bug/1800723)\n(which is needed to install other Python libraries).\n\nNext I tried to compile Python from source myself. This seemed to work, but it\ntook over an hour. This didn't seem to the most desirable solution.\n\nFinally, I realized I could \"borrow\" a pre-compiled version of Python from the\nofficial image via a \"multi-stage build\", using the official image as my \"build\nstage\". This seems to work, the build time is much better, although a few extra\ntweaks were needed.\n\n## Personal Additions and Notes\n\n- add various tags as per [label-schema.org](http://label-schema.org/rc1/)\n- the locale is set (by my base image) to Canadian English\n- `pip` doesn't cache downloaded packages\n- images are tagged with the major Python version, major+minor Python version,\n  Major+Minor+patch Python version (so \"3\", \"3.7\", and \"3.7.3\", as\n  appropriate), plus the commit id.\n\n## Prior Art\n\nThis builds on [my base image](https://github.com/MinchinWeb/docker-base).\n\nThis also wouldn't work without the [official Python\nimage](https://hub.docker.com/_/python).\n\n## Known Issues\n\n- additional `apt` packages may be needed to support building C extensions with\n  `pip` or to allow pre-compiled wheels to work.\n- if you use this as a base image, you will need to set `ENV S6_KEEP_ENV=1` in\n  your `Dockerfile` if you want your default script to have access to your\n  environmental variables.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminchinweb%2Fdocker-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminchinweb%2Fdocker-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminchinweb%2Fdocker-python/lists"}