genvid.toolbox.DockerTool¶
-
class
genvid.toolbox.
DockerTool
¶ ベースクラス:
genvid.toolbox.network.NetworkTool
Docker イメージアーカイブの操作を処理します。
-
RE_IMAGE_IMAGEID
= re.compile('(?P<image>.+)_(?P<version>[^_]*)_(?P<imageid>[0-9a-f]{12})\\.(?P<archfmt>[^.]*)')¶ イメージのファイル名を <image>_<version>_<id>.<archfmt> に分解する
-
RE_SUCCESSFUL_BUILD
= re.compile('(Successfully built |sha256:)([0-9a-f]+)')¶ 成功した場合、 docker ビルドメッセージと一致する正規表現。
-
RE_DIRTY_VERSION
= re.compile('^(latest|dev|.*[.+]dirty|\\d+\\.\\d+\\.\\d+\\.0)$')¶ イメージバージョンがダーティかどうかを決定する正規表現。
ダーティバージョンとは、ビルド番号が 0 のもの。下位互換のため、以下に一致するバージョンについても一致。
latest
.dev
.- 末尾が
.dirty
のもの。
バージョン 1.20.0 で変更: 新しいリリースモデルに導入されたダーティビルドの規定に従って、正規表現を更新。
-
IMAGE_TEMPLATE
= '{image}_{version}_{imageid}.{archfmt}'¶ イメージのファイル名のテンプレート。
RE_IMAGE_IMAGEID
と一致する必要があります。
-
DOCKER_MACHINE_NAME
= None¶ Docker マシンに名前を与える、
DOCKER_MACHINE_NAME
のミラー。
-
GENVID_DOCKER_API_TIMEOUT
= None¶ docker API のタイムアウトを定義した
GENVID_DOCKER_API_TIMEOUT
のミラーです。 最初に docker を呼び出す前に設定する必要があります。バージョン 1.34.0 で追加.
-
docker
¶ docker
クライアントを取得する。最初の呼び出しで、遅れて初期化される。
-
set_docker_env
(timeout=120)¶ Docker マシンを使用して、Docker 環境を構築する。
バージョン 1.20.1 で変更: DOCKER_MACHINE_NAME のデフォルトが
default
でなくなりました。設定されていない場合、環境は変更されません。
-
build_docker
(tag, path=None, rm=True, forcerm=True, **kwargs)¶ Docker イメージを作成する。
イメージビルドを返します。
-
static
version_to_imagetag
(image, version)¶ Docker のタグを返します。
-
get_images_config_from_folder
(baseurl, basedir: typing.Union[pathlib.Path, str, NoneType] = None)¶ basedir 配下のすべてのイメージの設定を返します。
パラメータ: - baseurl – すべてのイメージの baseurl。
- basedir – イメージが見つかったフォルダ。
-
バージョン 1.20.0 で変更:
genvid.toolbox.SDK.get_images_config()
との競合を回避するため、get_images_config
から返されます。basedir
パラメータを追加。
-
update_image
(image: str, version: str = 'latest', clean: bool = False, compress: bool = False, basedir: typing.Union[pathlib.Path, str, NoneType] = None)¶ 指定ディレクトリの docker イメージを更新する。
具体的には、このメソッドは
docker
に通知している最新の利用可能バージョンを比較し、basedir
で使用可能かどうかを比較します。イメージ ID と一致する要求されたバージョンの docker イメージがbasedir
に存在しない場合、最新版のイメージをdocker
クライアントを使用して取得します。パラメータ: - image – イメージ名。
- version – イメージのバージョン。
- clean –
True
の場合、名前が一致し、バージョンやイメージ ID の異なるイメージは削除されます。 - compress –
True
の場合、docker イメージは ZIP ファイルに圧縮されます。イメージの更新の有無にかかわらず、この処理は適用されます。 - basedir – イメージが保存されているディレクトリ。デフォルトは
ARTIFACTS_DIR
。
例外: RuntimeError –
basedir
に、docker イメージでも ZIP アーカイブでもない、一致するイメージ名を見つけた場合。:raises ValueError : image:tag のイメージリストが空の場合。
-
バージョン 1.12.0 で変更:
compress
パラメータを追加。
-
バージョン 1.20.0 で変更:
basedir
パラメータを追加。
-
バージョン 1.21.0 で変更:
解説書の拡充。
リストのエラーを修正。
メソッドの複雑さを軽減。
-
get_image_path
(image, version, imageid, archfmt='docker', basedir: typing.Union[pathlib.Path, str, NoneType] = None) → str¶ 指定イメージのパスを返します。
パラメータ: basedir – イメージのベースパス。デフォルトは ARTIFACTS_DIR
。バージョン 1.20.0 で変更:
basedir
パラメータを追加。
-
get_image_filename
(image, version, imageid, archfmt='docker') → str¶ 指定イメージのファイル名を返します。
バージョン 1.20.0 で追加.
-
get_images
(basedir: typing.Union[pathlib.Path, str, NoneType] = None)¶ RE_IMAGE_IMAGEID
に一致する形式のイメージのリストを取得する。パラメータ: basedir – イメージを検索するディレクトリ。デフォルトは ARTIFACTS_DIR
。戻り値: イメージ、バージョン、イメージ ID、archfmt を含むタプルリストを生成します。 バージョン 1.20.0: で変更: パラメータ
basedir
を追加。
-
get_latest_images
(basedir: typing.Union[pathlib.Path, str, NoneType] = None)¶ basedir
内のすべての最新イメージの辞書を返します。パラメータ: basedir – イメージを検索するディレクトリ。デフォルトは ARTIFACTS_DIR
。戻り値: イメージ名で特定されたバージョン、イメージ ID、archfmt のタプルの辞書。 バージョン 1.20.0: で変更: パラメータ
basedir
を追加。
-
-
class
docker.
DockerTool
¶