2016-03-30 10 views
0

私はこの問題を解決しようとしています。私たちの最終的な目標は、Mauticのカスタムドッカーコンテナを導入することです。私はウェブサイトのインターフェースからこれをやっても問題ありません。私はすべての私の設定問題を解決し、それは素晴らしい動作します。しかし、私はこれをAPIから自動的に行う必要があります。顧客は当社のサービスにサインアップするつもりで、すぐに(またはAWSが動作できる瞬間に)Mauticを導入したいと考えています。Elastic BeanstalkはAPIからドッカー環境を導入します

私は弾力のあるビーンストーンとAWSを初めて使いました。しかし、私が理解することは、環境を作り、私のDockerrun.aws.jsonファイルをそれに配備する必要があるということです。しかし、APIのどこにでも私が展開するファイルやS3バケットを指定することはできません(あなたがインターフェースからできるように)。私はテンプレートを保存してそれを使用することでうまくいくと思っていましたが、コンテナを起動していない空のDockerインスタンスを取得するだけです。

は、ここに私のPHP API呼び出し

$eb = new ElasticBeanstalkClient(array(
    'version' => 'latest', 
    'region' => 'us-east-1', 
    'credentials' => array(
     'key' => '...', 
     'secret' => '...' 
    ) 
)); 

$newEnvironment = $eb->createEnvironment(array(
    'ApplicationName' => 'test', 
    'TemplateName' => 'foo2', 
    'EnvironmentName' => '...', 
    'EnvironmentTier' => array(
     'Type' => 'Standard', 
     'Name' => 'WebServer' 
    ), 
    'OptionSettings' => array(
     [ 
      'Namespace' => 'aws:autoscaling:launchconfiguration', 
      'OptionName' => 'EC2KeyName', 
      'Value' => '...' 
     ], 
     [ 
      'Namespace' => 'aws:rds:dbinstance', 
      'OptionName' => 'DBUser', 
      'Value' => '...' 
     ], 
     [ 
      'Namespace' => 'aws:rds:dbinstance', 
      'OptionName' => 'DBPassword', 
      'Value' => '...' 
     ] 
    ) 
)); 

foo2が完全に実行されているMautic]ドッキングウィンドウコンテナを持っている環境から保存されたテンプレートの例です。

問題は、これは私が必要とする環境とRDSリソースを作成しますが、私のドッカーコンテナーは実行しません。

私は可能なのですか?それとも別の道を探す必要がありますか?

ありがとうございました

答えて

1

これがわかりました。私が探していたのはDockerrun.aws.jsonファイルでS3バケットを指定するために使用できる$eb->createApplicationVersion(...)でした。 Documentation

次に、VersionLabelを私のcreateEnvironment()と呼びます。

$newEnvironment = $eb->createEnvironment(array(
    'ApplicationName' => 'test', 
    'TemplateName' => 'foo2', 
    // Right here 
    'VersionLabel` => 'fooVersion', 
    'EnvironmentName' => '...', 
    'EnvironmentTier' => array(
     'Type' => 'Standard', 
     'Name' => 'WebServer' 
    ), 
    'OptionSettings' => array(
     [ 
      'Namespace' => 'aws:autoscaling:launchconfiguration', 
      'OptionName' => 'EC2KeyName', 
      'Value' => '...' 
     ], 
     [ 
      'Namespace' => 'aws:rds:dbinstance', 
      'OptionName' => 'DBUser', 
      'Value' => '...' 
     ], 
     [ 
      'Namespace' => 'aws:rds:dbinstance', 
      'OptionName' => 'DBPassword', 
      'Value' => '...' 
     ] 
    ) 
)); 

ダッシュボードでバージョンを作成できます。 Documentation

関連する問題