Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
Recommended Container Images and Tags¶
Most of my container images have different variants
(corresponding to tags latest, next, etc)
for different use cases.
And each tag might have histocial versions
with the pattern mmddhh
(mm, dd and hh stand for the month, day and hour)
for fallback if a tag is broken.
Please refer to the following tag table for more details.
Tag | Base Image OS | Comment |
|---|---|---|
latest | fedora-toolbox:latest | The most recent stable version of the container image. The latest tag is what most users should use. It cares more about user friendliness rather than container image size or load speed. |
next | fedora-toolbox:latest (or newer if necessary and well tested) | The most recent testing version of the container image. New features/tools will be added into the next tag before entering other tags. |
mmddhh | Histoical versions corresponding to the latest tag. | Fallback tags (for latest) if the latest tag is broken. |
next_mmddhh | Histoical versions corresponding to the next tag. | Fallback tags (for next) if the next tag is broken. |
Container Image | Comment |
|---|---|
Cloud IDE code-server (based on VSCode) | |
For data science, machine learning and AI. | |
Build portable Python using python | |
JupyterHub with Kotlin |
Usage¶
Those podman images can be used the regular way.
However,
they work specially well with Toolbx
.
The following documentation takes quay.io/legendu/jupyterhub-ds as an example.
Create a Podman Container Using Toolbx¶
you can create a container using the following command.
toolbox create -c jupyterhub-ds -i quay.io/legendu/jupyterhub-dsNotice that toolbx maps the user on the host into the container to have a seamless integration. Then you can launch the default service (JupyterHub in this case) in the container using
toolbox run /scripts/init.shUse the JupyterHub Server¶
Open your browser and and visit
your_host_ip:8000whereyour_host_ipis the URL/ip address of your server. If you’ve started the container and service on your local host, just visitlocalhost:8000in your browser.Login to the JupyterHub server using your user name (on the host machine) and no password is required.
Enjoy JupyterLab notebook!
Easy Install of Other Kernels¶
Install and configure PySpark for use with the Python kernel.
icon spark -ic && icon pyspark -icInstall the evcxr Rust kernel.
icon evcxr -icInstall the Almond Scala kernel.
icon almond -icMany other software/tools can be easily install by icon .
Build Container Images¶
Those podman images are auto built leveraging GitHub Actions workflow .
Tips for Maintaining Container Images (for My own Reference)¶
Do NOT update the
latesttag until you have fully tested the correspondingnexttag.Do NOT add new features or tools unless you really need them.
It generally a good idea to restrict versions of non-stable packages to be a specific (working) version or a range of versions that is unlikely to break.
On Failure of GitHub Actions Workflow for Building Container Images¶
If the Docker image buidling workflow fails due to network issues, it might not work to rerun failed pipelines in GitHub Actions (as the network issue is like due to probalematic network nodes and retrying failed pipelines sending jobs to the same nodes). In such situtions, it is better to trigger a new run of the workflow.