簡體   English   中英

如何檢查我的代碼是否在 AWS EC2 上的容器中運行

[英]How to check whether my code runs in a container on AWS EC2 or not

我的(python)代碼在 docker 容器內運行。

該容器部署在 AWS EC2 上用於我們的生產和測試目的,但有時部署在我們的本地機器或其他雲供應商上用於開發和 CICD 目的。

對於某些功能,我希望我的 python 代碼能夠區分 EC2 部署和非 EC2。 這可能嗎?

我找到了這個使用EC2 實例元數據端點答案,但我想知道:

a) 這也可以在 docker 容器中工作嗎?

b) 沒有更優雅的解決方案嗎? 發出 HTTP 請求並等待它似乎有點太多了。

(我知道一個簡單的解決方案可能是添加一些專有的環境變量或標志,試圖找到一個更本地的來檢查這個)

我建議您使用自定義環境變量 go。 通過這種方式,您將能夠輕松地在 AWS 之外(在您的工作站上或使用其他雲提供商)重現所需的行為。

使用curl或檢查/etc/cloud的存在會使您的應用程序行為依賴於第三方服務/工具。 除了邏輯復雜性(您必須處理可能的curl錯誤,例如無效的響應代碼),這可能會導致您肯定不想遇到的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM