- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试在 docker 容器内运行一个使用带有 EC2 的 RDS 数据库的网络服务器。
我已设置安全组,因此允许 EC2 主机的角色访问 RDS,如果我尝试直接从主机访问它,一切正常。
但是,当我在主机上运行一个简单的容器并尝试访问 RDS 时,它会被阻止,就好像安全组不允许它通过一样。经过一堆试验和错误之后,似乎容器请求确实不是来自 EC2 主机,所以防火墙说不。
我可以通过在 docker 容器上设置 --net=host 在短期内解决这个问题,但是这破坏了很多很棒的 docker 网络功能,比如能够映射端口(即,现在我需要确保容器的每个实例手动监听不同的端口)。
有没有人找到解决这个问题的方法?如果您实际使用任何 AWS 资源,那么在 AWS 中运行容器似乎是一个很大的限制。
最佳答案
是的,容器确实会访问 RDS 的公共(public) IP。但是您不需要调整低级 Docker 选项以允许您的容器与 RDS 通信。 ECS集群和RDS实例必须在同一个VPC,然后可以通过安全组配置访问。最简单的方法是:
This tutorial has screenshots这说明了要去哪里。
全面披露:本教程介绍了来自 Bitnami 的容器,我为 Bitnami 工作。然而,这里表达的想法是我自己的想法,而不是 Bitnami 的意见。
关于amazon-web-services - 从未通过安全组的 Docker 容器中访问 RDS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32893876/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!