Библиотека Python для API Docker Engine. Он позволяет вам делать все, что делает команда docker
, но из приложений Python — запускать контейнеры, управлять контейнерами, управлять Swarms и т. д.
Последняя стабильная версия доступна на PyPI. Установить с помощью пипа:
pip install docker
Более старые версии (< 6.0) требовали установки
docker[tls]
для поддержки SSL/TLS. В этом больше нет необходимости и он не используется, но поддерживается для обратной совместимости.
Подключитесь к Docker, используя сокет по умолчанию или конфигурацию вашей среды:
import docker
client = docker . from_env ()
Вы можете запускать контейнеры:
> >> client . containers . run ( "ubuntu:latest" , "echo hello world" )
'hello world n '
Вы можете запускать контейнеры в фоновом режиме:
> >> client . containers . run ( "bfirsh/reticulate-splines" , detach = True )
< Container '45e6d2de7c54' >
Вы можете управлять контейнерами:
> >> 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 ()
Вы можете транслировать журналы:
> >> for line in container . logs ( stream = True ):
... print ( line . strip ())
Reticulating spline 2. ..
Reticulating spline 3. ..
...
Вы можете управлять изображениями:
> >> client . images . pull ( 'nginx' )
< Image 'nginx' >
> >> client . images . list ()
[ < Image 'ubuntu' > , < Image 'nginx' > , ...]
Прочтите полную документацию, чтобы увидеть все, что вы можете сделать.