Uma biblioteca Python para a API Docker Engine. Ele permite que você faça qualquer coisa que o comando docker
faça, mas de dentro de aplicativos Python – execute contêineres, gerencie contêineres, gerencie Swarms, etc.
A versão estável mais recente está disponível no PyPI. Instale com pip:
pip install docker
Versões mais antigas (<6.0) exigiam a instalação
docker[tls]
para suporte SSL/TLS. Isso não é mais necessário e não funciona, mas é compatível com versões anteriores.
Conecte-se ao Docker usando o soquete padrão ou a configuração do seu ambiente:
import docker
client = docker . from_env ()
Você pode executar contêineres:
> >> client . containers . run ( "ubuntu:latest" , "echo hello world" )
'hello world n '
Você pode executar contêineres em segundo plano:
> >> client . containers . run ( "bfirsh/reticulate-splines" , detach = True )
< Container '45e6d2de7c54' >
Você pode gerenciar contêineres:
> >> 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 ()
Você pode transmitir registros:
> >> for line in container . logs ( stream = True ):
... print ( line . strip ())
Reticulating spline 2. ..
Reticulating spline 3. ..
...
Você pode gerenciar imagens:
> >> client . images . pull ( 'nginx' )
< Image 'nginx' >
> >> client . images . list ()
[ < Image 'ubuntu' > , < Image 'nginx' > , ...]
Leia a documentação completa para ver tudo o que você pode fazer.