Amazon web services 如何检查我的代码是否在AWS EC2上的容器中运行

Amazon web services 如何检查我的代码是否在AWS EC2上的容器中运行,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我的(python)代码在docker容器中运行 该容器部署在AWS EC2上用于我们的生产和测试目的,但有时部署在我们的本地计算机或其他云供应商上用于开发和CICD目的 对于某些功能,我希望python代码能够区分EC2部署和非EC2部署。这可能吗 我找到了使用的,但我想知道: a) 在docker容器中也可以这样做吗 b) 难道没有更优雅的解决方案吗?发出HTTP请求并等待它似乎有点太多了 (我知道一个简单的解决方案可能是添加一些专有的环境变量或标志,试图找到一个更本机的来检查这一点)我建议

我的(python)代码在docker容器中运行

该容器部署在AWS EC2上用于我们的生产和测试目的,但有时部署在我们的本地计算机或其他云供应商上用于开发和CICD目的

对于某些功能,我希望python代码能够区分EC2部署和非EC2部署。这可能吗

我找到了使用的,但我想知道:

a) 在docker容器中也可以这样做吗

b) 难道没有更优雅的解决方案吗?发出HTTP请求并等待它似乎有点太多了


(我知道一个简单的解决方案可能是添加一些专有的环境变量或标志,试图找到一个更本机的来检查这一点)

我建议您使用自定义环境变量。通过这种方式,您将能够在AWS之外(在您的工作站上或使用其他云提供商)轻松复制所需的行为


使用
curl
或检查是否存在
/etc/cloud
会使您的应用程序行为依赖于第三方服务/工具。除了逻辑复杂性(你必须处理可能的
curl
错误,比如无效的响应代码)之外,这些错误可能会导致你肯定不想遇到的bug。

完全同意,如果这家伙没有打败我,你也会写同样的东西