開発環境
- MacOS 10.14
- Python 3.7
- Pipenv 2018.11.26
- Docker 19.03.1
- Docker API 1.40
- Docker SDK for Python 4.0.2
ソースコード解説
Docker API client
Docker API clientをセットアップする方法はDockerのbase_urlを指定するか、環境変数から情報を取得する2通りあります。
base_urlを指定する方法
client = docker.DockerClient(
base_url='unix:///var/run/docker.sock',
version='auto',
timeout=60,
)
version
はDocker APIのバージョンを指定します。auto
にすると自動的に設定してくれます。
timeout
はDocker APIのコールのタイムアウトを指定します。単位は秒です。
環境変数を使用する方法
予めDOCKER_HOSTの環境変数が設定されている必要があります。
client = docker.from_env()
Imageのプル
try:
image = client.images.pull(image_name)
except (docker.errors.APIError,
ImageMismatchedError) as err:
raise err
変数image_name
に格納されているイメージをプルします。返り値はImageオブジェクトかlistです。
以下のコードでプルしたイメージのタグを含む名前を取得できます。
for tag in image.tags:
print(tag)