lth*_*123 6 python amazon-web-services docker localstack
我使用 docker-compose 在 2 个独立的容器中运行 python API 和 Localstack 实例,以进行本地开发。
该 API 有一个端点,可生成预签名的 AWS S3 URL 并重定向用户,以便直接从 S3 加载图像。
在本地开发中,API 使用 localstack 容器的地址作为自定义端点 url(即:boto3.client("s3",endpoint_url="http://localstack:4566"))来实例化 boto3 客户端,这允许 API 访问 localstack 容器内的资源。
问题是 boto3 客户端返回的预签名 URL 使用该localstack地址,浏览器无法加载它,因为 localstack 资源暴露给主机,位于http://localhost:4566.
如果我尝试在 boto3 客户端实例化中将 aws 资源端点 url 设置为localhost,则在容器内运行的 API 将在其自己的容器的本地主机中查找 AWS 资源,而不是在主机中查找 localstack 资源被暴露。
有没有办法使用相同的地址从主机的浏览器和不同的容器访问在 docker 容器中运行的 localstack 资源?
[编辑]我在 mac 上使用 docker,以防发生任何变化[/编辑]
| 归档时间: |
|
| 查看次数: |
9006 次 |
| 最近记录: |