-a
, т.е. go build -a ...
.CGO_ENABLED=0
это заставляет что-то вроде "вкомпиливать" некоторые используемые std либы в бинарник. Без этого runtime рассчитывает на компоненты ОС, которых в alpine либо нет, либо они другие. Было удобноэто зависит только то прямых рук. Можно до корки вызубрить всяких дядей бобов, эриков эвансев и пр., но реализовать так, что кровь из глаз будет течь.
import (
...
"net/http"
"net/url"
"strings"
...
)
func main() {
...
data := url.Values{}
data.Add("user_ids", id)
data.Add("fields", "about")
data.Add("fields", "activities")
data.Add("fields", "books")
resp, err := http.Post("https://api.vk.com/method/users.get", "POST", strings.NewReader(data.Encode()))
...
}