我正在努力解决这个问题。我们的最终目标是部署一个 Mautic 的自定义 docker 容器。从他们的网站界面执行此操作没有问题。我已经解决了我所有的配置问题,而且效果很好。但我需要从 API 自动执行此操作。客户将注册我们的服务,我们希望立即为他们部署 Mautic(或尽可能立即使用 AWS)。
我是弹性豆茎和 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 docker 容器的环境中保存的。
问题是,这会创建一个环境和我需要的 RDS 资源,但不会运行我的 docker 容器。
我想要的可能吗?还是我必须另寻出路?
谢谢