Une bibliothèque Python pour l'API Docker Engine. Il vous permet de faire tout ce que fait la commande docker
, mais à partir des applications Python : exécuter des conteneurs, gérer des conteneurs, gérer des Swarms, etc.
La dernière version stable est disponible sur PyPI. Installer avec pip :
pip install docker
Les anciennes versions (< 6.0) nécessitaient l'installation
docker[tls]
pour la prise en charge SSL/TLS. Ce n'est plus nécessaire et ne constitue pas une opération, mais est pris en charge pour des raisons de compatibilité ascendante.
Connectez-vous à Docker à l'aide du socket par défaut ou de la configuration de votre environnement :
import docker
client = docker . from_env ()
Vous pouvez exécuter des conteneurs :
> >> client . containers . run ( "ubuntu:latest" , "echo hello world" )
'hello world n '
Vous pouvez exécuter des conteneurs en arrière-plan :
> >> client . containers . run ( "bfirsh/reticulate-splines" , detach = True )
< Container '45e6d2de7c54' >
Vous pouvez gérer des conteneurs :
> >> client . containers . list ()
[ < Container '45e6d2de7c54' > , < Container 'db18e4f20eaa' > , ...]
> >> container = client . containers . get ( '45e6d2de7c54' )
> >> container . attrs [ 'Config' ][ 'Image' ]
"bfirsh/reticulate-splines"
> >> container . logs ()
"Reticulating spline 1... n "
> >> container . stop ()
Vous pouvez diffuser des journaux :
> >> for line in container . logs ( stream = True ):
... print ( line . strip ())
Reticulating spline 2. ..
Reticulating spline 3. ..
...
Vous pouvez gérer les images :
> >> client . images . pull ( 'nginx' )
< Image 'nginx' >
> >> client . images . list ()
[ < Image 'ubuntu' > , < Image 'nginx' > , ...]
Lisez la documentation complète pour voir tout ce que vous pouvez faire.