Initial commit
commit
6ff519aecd
|
@ -0,0 +1 @@
|
|||
/_build/
|
|
@ -0,0 +1,42 @@
|
|||
# Minimal Base Python Container Image
|
||||
|
||||
The *pythonctnr* image contains ONLY the Python runtime, and nothing else. It
|
||||
is suitable for deploying applications written in pure Python, without any
|
||||
external library dependencies. No shell or other OS utilities are included.
|
||||
Just `/usr/bin/python3` and the libraries it needs to run.
|
||||
|
||||
|
||||
## Building
|
||||
|
||||
The contents of the container image are built with [buildroot][0].
|
||||
|
||||
```sh
|
||||
make -C ~/src/buildroot O=${PWD}/_build pythonctnr_defconfig
|
||||
make -C _build
|
||||
```
|
||||
|
||||
This will produce a `rootfs.tar` tarball in `_build/images`, which is then
|
||||
converted to a container image using `buildah`.
|
||||
|
||||
```sh
|
||||
ctnr=$(buildah from scratch)
|
||||
buildah add ${ctnr} _build/images/rootfs.tar /
|
||||
buildah commit ${ctnr} pythonctnr:latest
|
||||
```
|
||||
|
||||
[0]: https://buildroot.org/
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
The container image can be used like any other image, e.g. in a `Dockerfile`.
|
||||
*pip* is included, to allow installing Python distribution packages.
|
||||
|
||||
```Dockerfile
|
||||
FROM pythonctnr
|
||||
|
||||
RUN ["/usr/bin/python3", "-m", "pip", "install", "mypkg"]
|
||||
```
|
||||
|
||||
**NOTE**: Because there is no shell, the default string form of the `RUN`
|
||||
instruction does not work. You must use the *exec* form.
|
|
@ -0,0 +1,14 @@
|
|||
BR2_x86_64=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
||||
BR2_TARGET_GENERIC_HOSTNAME="pythonctnr"
|
||||
BR2_TARGET_GENERIC_ISSUE=""
|
||||
BR2_INIT_NONE=y
|
||||
BR2_ROOTFS_MERGED_USR=y
|
||||
# BR2_TARGET_ENABLE_ROOT_LOGIN is not set
|
||||
BR2_SYSTEM_BIN_SH_NONE=y
|
||||
# BR2_TARGET_GENERIC_GETTY is not set
|
||||
# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
|
||||
BR2_SYSTEM_DEFAULT_PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
# BR2_PACKAGE_BUSYBOX is not set
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON_PIP=y
|
|
@ -0,0 +1,2 @@
|
|||
name: pythonctnr
|
||||
desc: Python container image
|
Loading…
Reference in New Issue