Начиная с 2018.1.2, невозможно использовать GoLand для разработки приложений Go, исходный код которых находится внутри контейнеров. Исходный код вашего приложения, его зависимости и сам Go должны быть установлены на вашем компьютере.
Если у кого-то есть идеи по улучшению поддержки разработки на основе Docker, предложения приветствуются, см .: https://youtrack.jetbrains.com/issue/GO-3322
А зачем вообще добавлять поддержку Docker в IDE? Вы можете запускать контейнеры, вы можете использовать docker compose и множество других инструментов из IDE. Однако при работе контейнеров среда IDE не может получить источник из контейнера и вывести его.
Кроме того, ваш контейнер не должен включать исходные / рабочие пространства Go в окончательный контейнер, чтобы он был оптимизирован для размера и скорости развертывания. Вы можете использовать что-то подобное для запуска, но помните, что может потребоваться дополнительная работа.
FROM golang:1.9.3 as build-env
# allows app_env to be set during build (defaults to empty string)
ARG app_env
# sets an environment variable to app_env argument, this way the variable will persist in the container for use in code
ENV APP_ENV $app_env
COPY ./ /go/src/github.com/Name/ProjectName/
WORKDIR /go/src/github.com/Name/ProjectName/app
# install all dependencies
RUN go get ./...
# build the binary
RUN go build -o /my_app
# final stage
FROM scratch
COPY --from=build-env /my_app /
# Put back once we have an application
CMD ["/my_app"]
EXPOSE 8080