LoginSignup
0
0

More than 3 years have passed since last update.

【Docker SDK for Python】DockerイメージをPythonでプルしてみた

Posted at

開発環境

  • 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)

Reference

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0