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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10b946643aba364f9ae6e7bef0808ccf69b444dd4b15b0cfb0347dea4c120004 |
|
MD5 | 88b1feceb6d94bf85f72853b4ad32eb0 |
|
BLAKE2b-256 | bcf25dba0005d7f99d567aa143480a6a7ec2ae21e69881dcd84e527bb5743ca7 |