amazon-web-services - 带有 docker 多容器和 Node 的 EB
问题描述
我将 Elastic Beanstalk 与 Docker 多容器一起使用。
我的配置(在 Elastic Beanstalk 中)是:
- 经典负载均衡,监听端口 80 和 3000;
- 开启了 80 和 3000 端口的安全组;
文件“Dockerrun.aws.json”是:
{
"AWSEBDockerrunVersion": 2,
"volumes": [
{
"name": "mynodeapp",
"host": {
"sourcePath": "/var/app/current/mynodeapp"
}
}
],
"containerDefinitions": [
{
"name": "mynodeapp",
"image": "node:8.11.3",
"memoryReservation": 128,
"essential": true,
"portMappings": [
{
"hostPort": 3000,
"containerPort": 3000
}
],
"command": [
"/bin/bash",
"/usr/src/app/run.sh"
],
"mountPoints": [
{
"sourceVolume": "mynodeapp",
"containerPath": "/usr/src/app"
}
]
}
]
}
我尝试使用端口 3000,但收到超时错误。
我不知道是否需要修复 aws 结构或我的“dockerrun”文件中的某些内容。
解决方案
问题是:
- 我的监听器(在负载平衡上)是使用 http 协议(到端口 3000)设置的。正确的是TCP协议;
- 另一个问题是关于健康检查(AWS Load Balancing a Node.js App on port 3000)。
推荐阅读
- sql - 选择从当前时间起 300 分钟内返回数据的语句
- java - Eclipse:在 JDK 源中搜索特定文本的方便或可能的方法是什么?
- plotly.js - 如何在 Plotly 中使用图像而不仅仅是彩色点?
- python - 使用 Python 处理列表中的多个字典
- arrays - Perl 简单的 FIFO 计算
- soap - 在商家帐户上启用“TMS 定期计费解决方案”是否会阻止 SOAP API 工作?
- javascript - CSS反转透明svg元素中的颜色
- amazon-web-services - 仅在将 Amazon DynamoDB 导出到 Amazon S3 完全完成后才调用 AWS Lambda 函数
- encryption - 使用 Ghidra 和 FindCrypt 在二进制文件中查找 AES 密钥
- npm - 如何处理冲突的对等依赖关系?