2

我正在为我的一些 golang Web 服务项目使用 docker 容器,并且开发工作流程的一部分是使用 goconvey 来获得一些快速的 tdd 反馈。我想在 docker 容器中启动它并将端口暴露给主机,这样我就可以将我的网络浏览器指向它并进行编码。

我们已经编译了 goconvey 二进制文件并将其弹出 /usr/local/bin 问题是,每当我连接到从 docker 容器公开的端口时,我只会收到“404 Page not found”错误。

我们在没有 GOPATH 的情况下进行了一些调整,特别是我正在出售我的库,例如 GOPATH=/proj-dir/vendor 和代码开发发生在 /src

我可以让 goconvey 在我的主机上很好地工作,但在码头上我很难过。404 表明我正在访问 goconvey 服务器,但它没有提供任何服务?

任何帮助表示赞赏。

4

1 回答 1

2

goconvey 服务器在找不到包含静态资源的目录时返回 404。
该目录的位置取决于 go get 存储 goconvey 文件的位置,通常在

$GOPATH/src/github.com/smartystreets/goconvey

因此,在您的 docker 容器中,确保使用当前$GOPATH值安装 goconvey,并验证该/goconveydir 是否包含/web/client/...子目录,这是 Web UI 的 html、css 和 js 文件所在的位置。

(为了测试这一点,我重命名了客户端目录,这导致 goconvey 返回一个普通的 404 消息。)

于 2015-07-09T12:38:24.620 回答