Запуск goconvey http-сервера из док-контейнера

Я использую Docker-контейнеры для некоторых моих проектов веб-сервисов golang, и часть рабочего процесса разработки использует goconvey для быстрой обратной связи. Я хотел бы раскрутить это в контейнере докера и открыть порт для хост-компьютера, чтобы я мог указать на него свой веб-браузер и получить код.

Мы скомпилировали двоичный файл goconvey и поместили его в /usr/local/bin. Проблема в том, что всякий раз, когда я подключаюсь к открытому порту из контейнера докера, я получаю только ошибки "404 Page not found".

У нас есть несколько настроек без GOPATH, в частности, я продаю свои библиотеки, например, GOPATH=/proj-dir/vendor и код разработки происходит в /src

Я могу заставить goconvey хорошо работать на моем хосте, но в докере я в тупике. 404 предполагают, что я бью сервер goconvey, но он ничего не обслуживает?

Любая помощь приветствуется.

1 ответ

Сервер goconvey возвращает 404, когда он не может найти каталог, содержащий статические ресурсы.
Расположение этого каталога зависит от того, где хранятся файлы goconvey, обычно в

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

Так что в вашем докер-контейнере убедитесь, что goconvey установлен с использованием текущей $GOPATH значение, а также убедитесь, что /goconvey каталог содержит /web/client/... подкаталоги, в которых находятся файлы html, css и js для веб-интерфейса пользователя.

(Чтобы проверить это, я переименовал клиентский каталог, что заставило goconvey вернуть простое сообщение 404.)

Другие вопросы по тегам