Sandbox running code in Docker.
Project description
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.
Quick Start | Reference | Examples
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')
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for docker_lite_python-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4b8ca0ffb56c4ecace400989d9ca2523c9c107f3016011fba891e5cbcd58246 |
|
MD5 | c96697e99716197000dc6c6de70f6382 |
|
BLAKE2b-256 | a264fb9d1050f55e23e4e95c7d87c94342706c8cca8ebfd2f8e5801ee6c77bc2 |