2017-06-09 7 views
1

LXDコンテナでアプリケーションをスクリプト/自動展開する方法は?LXDコンテナを使用しているときのアプリケーションの配備を自動化する方法は?

たとえば、アプリケーションを配備するbashスクリプトを使用するためにアプリケーションをLXDコンテナに配備する最も良い方法はありますか?ホスト上でコマンドを実行して、このbashスクリプトをコンテナ内で実行する方法は?

Dockerレシピと同様の方法でこれを行うツール/方法はありますか?私の場合は

+1

https://askubuntu.com/questions/617865/is-there-a-を参照してください。クラウド初期化ファイルに.ymlの代わりに.shファイルを使用することもできます。クラウド初期化はubuntuでのみ利用可能です:releaseイメージはイメージではありません:リモート。 'lxc exec my-container-bash -c" top -n 1 -b "' –

+0

ホストからexecを使用することもできます。必ずホスト上でデプロイメントスクリプトを実行する必要はありません。継続的な統合環境にはLXDクライアントがインストールされており、運用/ステージングホストはリモートサーバーとして追加されています。これにより、lxdコマンドを実行し、LXDホストに接続するのではなく、ビルド環境からリモートコンテナに直接ファイルをプッシュすることができます。 – JamieB

答えて

1

は、私はしAnsibleを使用します。

  1. はLXDコンテナ(ウェブ、データベース、例えばRedisの)を構築します。
  2. コンテナに接続し、必要なサービスとコードを展開します。

たとえば、サービスやコードが既にデプロイされている画像を作成し、この画像から特定のコンテナを作成することができます。

LXDがAnabilitiesサポート(Anabilities 2.2)を持っていた前からこれをやっていました。サービス/コードをデプロイするためにコンテナに接続すると、lxd接続の代わりにsshを使います。彼らは私が設定した私のssh公開鍵を持っていたプロファイルが付属しています(鍵で直接ssh接続をする...パスワードなし)

関連する問題