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

Podman已运行,执行AWS SAM命令仍提示需Docker的问题求助

解决SAM本地运行时检测不到Podman的问题

当你用Podman替代Docker运行Java编写的AWS Lambda本地实例时,SAM CLI会因默认检测Docker而报错。以下是可行的解决步骤:

  • 确认Podman处于运行状态
    先执行podman info或podman ps验证Podman服务是否启动。未启动的话:

    • Linux系统:执行systemctl start podman
    • macOS系统:执行podman machine start
  • 设置环境变量让SAM识别Podman
    SAM CLI通过DOCKER_HOST环境变量识别容器运行时,直接指向Podman的socket即可:

    • 临时生效(当前终端会话):
      # Linux
      export DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock
      # macOS
      export DOCKER_HOST=unix:///Users/$USER/.local/share/containers/podman/machine/podman.sock
      
    • 永久生效(所有终端会话):
      将上述export命令添加到你的shell配置文件(如~/.bashrc、~/.zshrc),保存后执行source ~/.bashrc(对应你的配置文件)生效。
  • 创建Docker与Podman的软链接(可选)
    如果环境变量设置后仍有问题,可以让系统把docker命令指向podman:

    • Linux:sudo ln -s /usr/bin/podman /usr/bin/docker
    • macOS:sudo ln -s $(which podman) /usr/local/bin/docker
      注意:此方式可能影响其他依赖Docker的工具,按需使用。
  • 更新SAM CLI与Podman版本
    旧版本的SAM或Podman可能存在兼容性问题:

    • 更新SAM CLI:pip install --upgrade aws-sam-cli(或使用你的包管理工具)
    • 确保Podman版本≥3.0,该版本开始对Docker API的兼容性更完善。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:57:17