Я создал следующий Docker-контейнер, все работает, кроме вещи, которая является make lint
В корне проекта у меня есть Makefile
с текущей записью
lint:
gometalinter --config=gometalinter.json ./...
когда я использую его локально на своем компьютере (macbook) и если, например, файл не отформатирован go fmt
Я получаю ошибку при выполнении кода выше.
Проблема заключается в том, что при создании образа докера с помощью docker build command
У меня возникли проблемы с распылением, которые не связаны с моим проектом.в gometalinter.json
у меня есть следующая запись, чтобы обойти каталог поставщика
{
"vendor": true
}
Это содержимое докера
FROM golang:1.11.1-alpine3.7
RUN apk add --update --no-cache git make curl bash
ADD https://github.com/golang/dep/releases/download/v0.5.0/dep-linux-amd64 /usr/bin/dep
RUN chmod +x /usr/bin/dep
WORKDIR /go/src/my-proj
COPY . ./
COPY Gopkg.toml Gopkg.lock ./
RUN dep ensure
# From the error it seems that this is related to cgo but even adding the next line doesnt helps, same error occurred
RUN CGO_ENABLED=0
# this command download gometalinter which is running OK
RUN make download
RUN make lint
когда я запускаю lint, это то, что я получил, которыйне связан с моим проектом
../../../usr/local/go/src/net/lookup_unix.go:80:24:warning: error return value not checked (undeclared name: cgoLookupHost) (errcheck)
../../../usr/local/go/src/net/lookup_unix.go:95:24:warning: error return value not checked (undeclared name: cgoLookupIP) (errcheck)
../../../usr/local/go/src/net/lookup_unix.go:107:23:warning: error return value not checked (undeclared name: cgoLookupPort) (errcheck)
../../../usr/local/go/src/net/lookup_unix.go:123:24:warning: error return value not checked (undeclared name: cgoLookupCNAME) (errcheck)
../../../usr/local/go/src/net/lookup_unix.go:323:23:warning: error return value not checked (undeclared name: cgoLookupPTR) (errcheck)