Type to search…

Docker

This page hasn't been translated yet — shown in its original language:Català

Introducción

Docker és una eina molt útil, però en molts casos volem interactuar directament amb un llenguatge de programació enlloc de fer servir el shell.

Docker SDK for Python és una llibreria que permet interactuar directament amb l’API HTTP de Docker Engine, i el seu objectiu no és replicar el client Docker (escrit en Golang), sinó parlar amb l’API HTTP de Docker Engine. El client Docker és extremadament complex i és difícil de duplicar en un altre idioma. Per això, moltes de les funcions que es trobaven al client Docker no poden estar disponibles a docker-py. És una llibreria molt utilitzada; per exemple docker-compose està escrit en Python i aprofita docker-py.

Una altra opció és la llibreria Python-on-whales, que té una relació 1 a 1 entre la CLI de Docker i la biblioteca de Python. Això s’aconsegueix comunicant-se amb la CLI de Docker en lloc d’utilitzar directament a l’API HTTP de Docker Engine.

En aquest dibuix pots veure la relació que hem exposat:

Docker SDK for Python

Instal.la docker i inicia una sessió REPL:

shell
$ pip install docker
$ python3

Conecta’t a Docker fent servir la configuració del teu entorn:

python
>>> import docker
>>> client = docker.from_env()

Amb l’objecte client pots executar contenidors:

python
>>> client.containers.run("alpine", "echo hello world")
b'hello world\n'

També pots executar un contenidor en segon pla:

python
>>> container = client.containers.run("httpd", name="apache", detach="True", ports = { 80:80})

You're reading a preview.

Sign in with Google to read the full page. A Google account includes 5 free pages in total; students and teachers read their course pages without limit.

Sign in