概要
Admiral は作成したテンプレートをエクスポートできる機能があります
管理画面からはテンプレートの一覧でエクスポートボタンを押せば YAML ファイルがダウンロードできます
API でも取得することができたのでその方法を紹介します
環境
- Ubuntu 16.04.3
- Admiral v1.3.0
API でテンプレートを取得する
docker-compose.yml を取得する場合はこんな感じでコールします
curl -H 'localhost:8282/resources/composite-templates/?selfLink=/resources/composite-descriptions/877dd4190ad5dc75563935eeacdb0&format=docker'
877dd4190ad5dc75563935eeacdb0
の部分はテンプレートの ID を入力してください
これで以下のような YAML 情報がテキストで取得できます
---
version: "2"
services:
web:
image: "registry.hub.docker.com/library/nginx"
restart: "no"
上記のテンプレートは nginx イメージで作成したコンテナ定義を 1 つ追加した場合の YAML になります
ちなみにユーザ認証を有効にした場合は x-xenon-auth-token
ヘッダを付与してコールしてください
また最後の format=docker
を外すとテンプレート自体の定義をエクスポートすることができます
エクスポートした定義は Admiral 上にインポートすることでテンプレートとして使うことができます
最後に
Admiral でテンプレートから docker-compose.yml をエクスポートする方法を紹介しました
結構便利な機能かなと思います
ただ docker-compose のバージョンが 2 までしか対応してないのでバージョン 3 以上に対応する場合は取得したあと自分でコンバートする必要があります
0 件のコメント:
コメントを投稿