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

如何配置Docker Compose适配/cmd目录下的Go项目并解决构建报错

解决方案

1. 修正Dockerfile构建路径

构建错误的核心原因是go build -o main .会在当前工作目录(/app)下查找Go源码文件,但你的入口文件main.go位于/app/cmd子目录中,导致构建命令找不到可编译的Go文件。

修改后的Dockerfile:

FROM golang:1.22.1-alpine

WORKDIR /app

COPY . .

RUN go mod download

# 指定从cmd目录构建入口程序
RUN go build -o main ./cmd

CMD ["/app/main"]

2. 优化Docker Compose的开发监控(可选)

你的现有watch配置已经通过./**/*.go覆盖了所有子目录的Go文件,包括cmd目录,无需修改即可在文件变更时自动重建。如果需要更精准的监控范围,可以调整为:

watch:
  - action: rebuild
    files:
      - ./cmd/**/*.go
      - ./go.mod
      - ./go.sum

3. 验证运行

执行以下命令重新构建并启动服务:

docker compose up --build

若使用Docker Compose开发模式:

docker compose watch

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:50:56