Rich
Rich is a library designed to enahnce the printing of python applications, such as below:
rprint("Hello, [bold magenta]World[/bold magenta]!", ":vampire:", "TestMe")
Hello, World! π§ TestMe
We will use it to take very basic-looking docker
commands, and Rich-ify them to look better
create_docker_search_table
[source]
create_docker_search_table
(data
, **args
)
Returns a Table
from a docker search query
Parameters:
data
:<class 'inspect._empty'>
args
:<class 'inspect._empty'>
Below you can see an example of a "docker_buddy" docker search
result, utilizing Rich to improve the readability:
βββββββββββββββββββββββββββββ³βββββββββββββββββββββββββββββββββ³ββββββββ³βββββββββββ³ββββββββββββ β Container Name β Description β Stars β Official β Automated β β‘ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ© β paperspace/fastai β Fast.ai course 2 [Pytorch] β 20 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β spellrun/fastai β β 7 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β deeprig/fastai-course-1 β GPU-enabled Jupyter β 6 β β β β β β environment for fast.ai β¦ β β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastdotai/fastai β Official fast.ai image for β 6 β β β β β fastai β β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β zerotosingularity/fastai2 β This container has moved to β 2 β β β β β https://hub.dockβ¦ β β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β seemeai/fastai2 β A Docker container for fastai β 2 β β β β β v2 β β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β zerotosingularity/fastai β This container has moved to β 2 β β β β β https://hub.dockβ¦ β β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β seemeai/fastai β A Docker container for fastai β 1 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastai/fastai β β 1 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β gwelican/fastai β β 1 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastai/codespaces β β 1 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastdotai/fastai-course β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β spellrun/fastai-base β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastai/ubuntu β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β sgrestdocker/fastai β container for fastai code β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastai/fastpages-jekyll β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastdotai/fastai-dev β Official fast.ai image for β 0 β β β β β fastai with an edβ¦ β β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β aychang/fastai-gpu β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β lifefilm/fastai2_fastapi β Fastai2, FastApi, Pytorch 1.7, β 0 β β β β β Pipenv, Condβ¦ β β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β fastai/jekyll β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β kuberlab/fastai β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β krllerof/fastai β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β grapenf/fastaindex β β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β qooba/fastai β fastai β 0 β β β βββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββΌββββββββΌβββββββββββΌββββββββββββ€ β snarkai/fastai β Fast AI container β 0 β β β βββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββ΄ββββββββ΄βββββββββββ΄ββββββββββββ
docker_search
[source]
docker_search
(TERM
:"The name of a Docker image or namespace to search for",FILTER
:"Filter output based on conditions provided"=''
,LIMIT
:"Max number of search results (default 25)"=25
,NO_TRUNC
:"Don't truncate output"=False
)
Search the Docker Hub for images
Parameters:
TERM
:str <The name of a Docker image or namespace to search for>
FILTER
:str <Filter output based on conditions provided>
, optionalLIMIT
:int <Max number of search results (default 25)>
, optionalNO_TRUNC
:<Don't truncate output>
, optional
create_docker_ls_table
[source]
create_docker_ls_table
(data
, **args
)
Returns a Table
from a docker search query
Parameters:
data
:<class 'inspect._empty'>
args
:<class 'inspect._empty'>
Below you can see an example of our supercharged docker ls
output:
ββββββββββββββββββββββ³ββββββββββββββββββ³βββββββββββββββββ³ββββββββββββββββββββββββββββββββββββ β Container Nickname β Image β Current Status β Ports β β‘ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ© β nostalgic_golick β fastdotai/nbdev β Up 2 hours β 0.0.0.0:8888->8888/tcp, β β β β β :::8888->8888/tcp β ββββββββββββββββββββββ΄ββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββββββββββββββββ
Bash Commands
Each of the prior functionalities have bash commands associated with them as follows:
ds
->docker search
(ordocker_search
)dls
->docker container ls
(ordocker_container_ls
)
This also helps with not overriding root Docker
Along with these, it is recommended to setup the following shortcuts in your bash_profile
:
docker run
->dr
docker pull
->dp
So the naming conventions can remain similar (though there are no pretty tables/console bits for them)