Docker容器运行air热重载工具时出现$PATH路径错误排查
Docker容器中air命令找不到的常见原因
Air未在容器内安装:Docker容器是独立的运行环境,本地装的air不会自动同步进去。如果你的Dockerfile里没加安装air的步骤(比如
go install github.com/cosmtrek/air@latest),容器启动时自然找不到这个可执行文件。Air安装路径不在$PATH里:就算装了air,要是安装目录没被加入容器的$PATH环境变量,系统也找不到它。比如go install默认把二进制文件放到
/go/bin,如果容器的$PATH没包含这个路径,就会报找不到的错。得在Dockerfile里加ENV PATH="$PATH:/go/bin"把该目录加入环境变量。docker-compose命令配置有误:如果docker-compose.yml里的command直接写了
air,但容器里要么没装air,要么路径不对,就会触发这个错误。要确保command指向air在容器里的实际路径,或者先把PATH配置正确。镜像缓存导致Air未被安装:要是之前构建过镜像,后来才在Dockerfile里加了安装air的步骤,但docker-compose用了缓存的旧镜像,容器里还是没有air。可以用
docker-compose build --no-cache重新构建镜像,清除缓存。
内容的提问来源于stack exchange,提问作者Eziz Durdyyev
相关产品推荐
相关产品推荐

