将Stripe CLI作为Docker服务部署遇执行格式错误求助
解决Stripe CLI Docker容器的exec format error问题
核心原因
exec /bin/stripe: exec format error 本质是容器镜像架构与主机CPU架构不兼容,Stripe官方镜像默认提供amd64版本,如果你的Arch系主机是ARM架构(比如aarch64),就会触发这个错误。另外还有个容易踩的坑:容器内的localhost无法访问到你的Django服务。
解决步骤
1. 确认主机架构
在主机终端执行:
uname -m
- 输出
x86_64→ 对应amd64架构 - 输出
aarch64→ 对应arm64架构
2. 修改Docker Compose配置
根据主机架构指定镜像平台,同时修正webhook的目标地址(用Django服务在Compose网络中的服务名替代localhost):
主机为x86_64(amd64)时:
services: stripe-cli: image: stripe/stripe-cli container_name: stripe-cli platform: linux/amd64 command: listen --api-key=my_stripe_login_key --forward-to http://<你的Django服务名>:8000/stripe/webhook
主机为aarch64(arm64)时:
services: stripe-cli: image: stripe/stripe-cli container_name: stripe-cli platform: linux/arm64 command: listen --api-key=my_stripe_login_key --forward-to http://<你的Django服务名>:8000/stripe/webhook
3. 验证运行
启动服务并查看日志:
docker-compose up -d docker logs stripe-cli
如果日志显示“Ready! You are using Stripe API Version...”,说明配置正常。
内容的提问来源于stack exchange,提问作者Mr Coolman
相关产品推荐
相关产品推荐

