docker-lite-python

Sandbox running code in Docker.


Keywords
docker, python3
License
MIT
Install
pip install docker-lite-python==1.0.0

Documentation

License: MIT made-with-python Open Source? Yes! PyTest

docker-lite-python

A simple, Python-based Docker interface built on top of the Docker SDK for Python. Intended to programmatically spin up, pass communications to, and ultimately tear down single Docker containers. Requires a local instance of Docker.

Installation | Quick Start | Reference | Examples

Installation:

pip install docker-lite-python

Quick Start:

$ sudo python3
>>>from docker_light import DockerLite
>>>dl = DockerLite()

start an Alpine container and keep it running

>>>dl.run_container('alpine:latest', 'alpine-container', 'sleep infinity')

exec into the running container

>>>dl.exec_into_running_container('alpine-container', 'echo "Hello World!"')
ExecResult(exit_code=0, output=b'Hello World!\n')

tear down that container!

>>>dl.kill_container('alpine-container')
0

Reference:

Methods Args Overview
build_image() *path_to_dockerfile*: string Build a Docker image from a local Dockerfile.
*resulting_image_name*: string Enforces best practice of explicitly naming images.
list_containers() *all*: bool: default=False List running containers by default.
run_container() *image_name*: string Run a Docker container, optionally with a command.
*resulting_container_name*: string Enforces best practice of explicitly naming containers.
*command*: string: The command to run. Optional.
get_container_by_name() *existing_container_name*: string Get a Docker container by name.
exec_into_running_container() *existing_container_name*: string Run a command in an active container.
*command*: string: The command to execute in the running Docker container.
list_images() None List all images in the local Docker instance.
remove_unused_images() None Equivalent of docker images prune
remove_all_images() None Force removal of all images. Purge system.
kill_container() *existing_container_name*: string Shut down and delete a container.
NOTE: kill_container() technically just stops the containers, as they are self-removing.

Examples:

from docker_lite import DockerLite

dl = DockerLite()

build a Docker image called 'my-image' from a Dockerfile

dl.build_image('./Dockerfile', 'my-image')

list all containers. Default is to list running containers

containers = dl.list_containers(all=True)

run a Docker container called 'my-container' based on a Docker image called 'my-image'

my_container = dl.run_container('my-image', 'my-container')

run a terminal command in a running Docker container called 'my-container'. Be creative

output = dl.exec_into_running_container('my-container', 'echo "Hello World!"')

get a container called 'my-container' by its unique name

container = dl.get_container('my-container')

kill a container called 'my-container' by its unique name

dl.kill_container('my-container')