You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Colima运行sam local start-api时遇DNS解析错误求助

解决Colima无法解析public.ecr.aws的问题

问题现象

使用Colima运行Python应用时触发DNS解析错误,无法访问AWS公共容器镜像仓库:

Lambda functions containers initialization failed because of Error
building docker image: creating build container: initializing source
docker://public.ecr.aws/lambda/python:3.9-x86_64: pinging container
registry public.ecr.aws: Get "https://public.ecr.aws/v2/": dial tcp:
lookup public.ecr.aws: no such host

Error: Lambda functions containers initialization failed

本地nslookup public.ecr.aws可正常解析域名,docker pull hello-world操作正常,Colima状态显示基于macOS Virtualization.Framework运行,架构为aarch64。

解决方案

1. 检查并修正Colima虚拟机内部DNS配置

进入Colima虚拟机查看当前DNS设置:

colima ssh
cat /etc/resolv.conf

若显示的DNS服务器与本地nslookup输出的有效服务器不一致,手动替换:

sudo echo "nameserver XX.XXX.XX.X" > /etc/resolv.conf

将XX.XXX.XX.X替换为本地nslookup中显示的有效DNS服务器地址。

2. 重启Colima并指定DNS服务器

若临时修改配置无效,直接重启Colima并指定可靠DNS:

colima stop
colima start --dns XX.XXX.XX.X

可选择公共DNS如8.8.8.8,或本地路由器提供的DNS地址。

3. 切换Colima网络模式

默认的user-networking模式可能存在DNS隔离问题,切换到vmnet模式让Colima复用主机网络栈:

colima stop
colima start --network vmnet

4. 适配架构拉取镜像

当前Colima为aarch64架构,尝试拉取对应架构的Lambda镜像(或开启多架构构建支持):

  • 直接拉取arm64版本镜像:
docker pull public.ecr.aws/lambda/python:3.9-arm64
  • 开启Docker多架构构建支持:
docker buildx create --use

验证操作

完成上述配置后,先测试拉取目标镜像确认问题解决:

docker pull public.ecr.aws/lambda/python:3.9-x86_64

镜像拉取成功后,重新运行Python应用即可。

内容的提问来源于stack exchange,提问作者Tanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:22:14