Что такое взлом?
Когда вы пытаетесь создать приложение, требуемые депы не устанавливаются в образ докера
Почему это происходит вобраз docker, а не в моем локальном dev env?
В вашем локальном dev env вы устанавливаете / получаете требуемые команды запуска deps, как в следующем примере.
$ go get -u github.com/go-swagger/go-swagger/cmd/swagger
Но каждый контейнер / изображение будет пустым / чистым env.Вы должны указать для док-контейнера, который требуется для первой установки deps.
Решение
Пример Makefile
.PHONY: setup
setup: @echo Installing dependencies:
go get -u github.com/go-swagger/go-swagger/cmd/swagger
.PHONY: build
build: setup
go build -o $(BINARY) $(APP_FILE)
Затем нужно вызвать команду make build
для создания вашего образа вместо используемой в настоящее время сборки go.
Вместо использования команд go get
для каждой зависимости используйте менеджер go dep, чтобы сделать это.Следуя примеру.
Makefile
.PHONY: setup
setup: @echo Installing dependencies:
dep ensure
Подробнее об этом здесь