docker py
7.1.0
Docker Engine API 用の Python ライブラリ。 docker
コマンドで実行できることはすべて実行できますが、Python アプリ内から、コンテナーの実行、コンテナーの管理、Swarm の管理などを行うことができます。
最新の安定バージョンは PyPI で入手できます。 pip でインストールします。
pip install docker
古いバージョン (6.0 未満) では、SSL/TLS サポートのために
docker[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' > , ...]
ドキュメント全体を読んで、できることをすべて確認してください。