ジェネレータを作成-秒単位でアプリケーションを展開する


DockerとKubernetesによるアプリケーション展開はこれまでより簡単です、しかし、それさえはるかに速くて、よりシームレスでありえましたか?これはジェネレータジェネレータは、コマンドラインインターフェイスを使用して一般的なDockerタスクを支援することによって遊びに来るところです.


プロジェクトの配備
ジェネレータを使用すると、次の4つの手順を実行する必要があります.
  • を作成します
  • VCSからのプロジェクトのクローンリポジトリ
  • ランcompose-generator install DockerとDockerをインストールするには( DockerとDockerが既にインストールされている場合はスキップできます).
  • ランcompose-generator -r 展開設定を生成し、それを実行するには

  • より多くのより多くの利点を、なぜあなたはそれを使用して検討する必要があります指摘するジェネレータを作成するにはさらにビットを飛び込むことができます.

    構成を生成する
    ジェネレータを構成するアシスタントとして見ることができるとあなたのDockerのインストールの周りラッパーのように動作します.上記のように、ジェネレータを作成することができますあなたのシステムにDockerとDockerの構成をインストールするために使用することができますので、最初の場所でジェネレータを作成することを気にする必要があります.ジェネレータを作成する主な機能は-としては、名前が示唆される-あなたのプロジェクトの構成を構成するためのDockerを生成します.さらに、作成するジェネレータ(例えばデータベース資格情報など)の秘密を生成することができますボリューム、ネットワーク、環境変数を管理し、はるかに.
    次の例では、基本的な角度アプリケーションを展開します.ジェネレータを構成するさまざまなサービステンプレートをサポートhere .

    スタックの配置例
    しかしながら、あなたのホストシステムにCompose Generatorをインストールすることを勧めますhere , この初心者ガイドでは、Dockerコンテナとして実行することもできます.
    $ docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock 
         -v $(pwd):/cg/out chillibits/compose-generator
    
    Docker画像をプルし、インタラクティブモードで実行します.The $(pwd) placeholderはDockerホストシステム上の現在のパスを表し、/cg/out コンテナ内のディレクトリ.つまり、結果の出力ファイルはdocker-compose.yml は後でディレクトリにあります.

    ジェネレータを作成すると、プロジェクトの名前を要求し、プロキシの背後にあるサービスを非表示にする既定の開発設定の代わりに、生産準備を作成したい場合.ジェネレータの作成は、建物のブロックシステムのようなあなたのニーズを手配することができます定義済みのサービステンプレートの様々なを提供しています.我々の例では、我々は選択されますAngular フロントエンドセクションでは、Spring with Maven バックエンドセクションとMySQL データベースのセクションで.テンプレートのリストから選択する各項目については、ジェネレータを作成する場合は、それらを設定するために重要なサービス固有の質問を求めます.すべての質問に答えた後MySQL MySQL用のデフォルトのDB管理システムであるため、ジェネレータを事前に選択したphpMyAdminを作成することができます.これを選択解除またはEnterキーを押して続行できます.

    Tip: You can execute compose-generator -a to launch the Compose Generator Cli in advanced mode. Then you also get questions for advanced stack customization. Find more information about cli options of the generate sub-command here.


    すべての質問をした後、ジェネレータは以下のファイル構造を生成します.
    current directory
    ├─volumes
    │ ├─volume1
    │ ├─volume2
    │ ├─volume3
    │ └─...
    ├─.gitignore
    ├─.cg.yml
    ├─docker-compose.yml
    └─environment.env
    
    The docker-compose.yml ファイルがあなたのDockerの構成を含んでいます.あなたのコンテナが秘密を必要とするならば、彼らはenvironment.env ファイルを実行します.上記のように、ジェネレータを作成するも、あなたのためのボリュームディレクトリを作成します.あなたが選択しているスタックテンプレートによっては、ボリュームディレクトリ(ファイルなどのファイル)の中には、できるだけ多くの労力がかかります.
    The .gitignore ルートディレクトリのファイルはenvironment.env 誤ってVCSにどんな秘密も委託しないファイル..cg.yml を生成するための設定ファイルです.

    設定からサービスを削除する
    を想像してスタックを生成しているAngular , Spring with Maven , MySQL and PhpMyAdmin , しかし、あなたは春のアプリケーションのデータ構造のようなドキュメントに対処しなければならないので、MongoDBに切り替えたい.
    あなたができることは、サービスを削除するジェネレータを作成することですMySQL and PhpMyAdmin 追加MongoDB 代わりに.
    最初の2つを削除するには、次のコマンドを実行しますdocker-compose.yml 設定ファイルの設定
    $ compose-generator remove
    
    つのサービスを選択MySQL and PhpMyAdmin Enterキーを押します.生成ジェネレータは、未使用のボリューム、ネットワークなどなどの残渣を離れることなく、構成の構成からそれらのサービスを削除します.

    構成へのサービスの追加
    サービスを追加するにはMongoDB , 次のコマンドを実行できます.
    $ compose-generator add mongodb
    
    すべての質問に答えた後docker-compose.yml ファイルにサービスが含まれますdatabase-mongodb サービスdatabase-mysql and db-admin-phpmyadmin どうぞ.

    合成ジェネレータについて
    ジェネレータの作成の背後にあるキーコンセプトは、それが永続的で拡張可能です.したがって、独自の定義済みのサービステンプレートを作成し、選択可能なサービスの一覧に追加することが可能です.あなたがそうするならば、Githubに関するコミュニティ貢献としてそれを手渡してください!
    定義済みのサービステンプレートとすべての利用可能なCLIサブコマンドを作成することに関する詳細な情報に関する今後の記事があります!
    この記事を読んで興味を持っていただきありがとうございます.
    あなたはジェネレータを作成する詳細については、公式のドキュメントを参照してくださいする場合www.compose-generator.com とGithubのオープンソースプロジェクトgithub.com/compose-generator/compose-generator ).
    ヘッダー画像ソースDominik Lückmann on Unsplash