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

docker-compose部署带Air热重载的Go应用报错air可执行文件未找到

问题原因

报错的核心原因是Air可执行文件安装路径没有被纳入容器的系统PATH环境变量,或者基础镜像配置异常导致Air未正常安装:

  • 你当前将Air安装到了$(go env GOPATH)/bin路径下,默认Go镜像的GOPATH路径为/go/bin,该路径默认不在系统PATH中,容器启动时无法找到Air执行文件
  • 若你使用的base镜像不是官方Golang Alpine镜像,还可能出现go命令不存在,导致Air安装脚本执行失败的情况
解决方案

按以下步骤依次调整即可:

  1. 修正Dockerfile的基础镜像与环境变量配置,参考调整后的Dockerfile:
# 替换为官方Golang Alpine镜像,若你原本的base镜像已符合要求可保留第一行
FROM golang:1.21-alpine as dev

WORKDIR /opt/app/api

RUN apk update
RUN apk add git gcc musl-dev curl

# 安装Air到GOPATH/bin
RUN curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s -- -b $(go env GOPATH)/bin

# 将GOPATH/bin加入系统PATH
ENV PATH="$PATH:/go/bin"

# 放开依赖安装命令,避免Air启动时缺少依赖报错
RUN go mod tidy

CMD ["air"]
  1. 重新构建应用镜像,每次修改Dockerfile后必须执行构建命令才会生效:
sudo docker-compose build app
  1. 再启动容器即可:
sudo docker-compose up -d
备选快速解决方案

如果不想修改PATH,也可以直接在CMD中使用Air的绝对路径启动,将Dockerfile最后一行替换为:

CMD ["/go/bin/air"]

内容的提问来源于stack exchange,提问作者Sarthak M. Das

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:27:06