我在具有以下架构的
docker容器中构建了以下代码:cat /proc/version Linux version 3.16.7-tinycore64 (root@064f0e1ce709) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP 2014 年 12 月 16 日星期二 23:03:39 UTC
package main
import "fmt"
func main() {
fmt.Println("Hello")
}
二进制分布式,在busybox容器上运行没有问题,具有相同的架构,无需安装golang。
问题
当我对以下代码执行相同操作时:
package main
import (
"fmt"
"net/http"
)
const (
port = ":80"
)
var calls = 0
func HelloWorld(w http.ResponseWriter, r *http.Request) {
calls++
fmt.Fprintf(w, "Hello, world! You have called me %d times.\n", calls)
}
func init() {
fmt.Printf("Started server at http://localhost%v.\n", port)
http.HandleFunc("/", HelloWorld)
http.ListenAndServe(port, nil)
}
func main() {}
然后我得到:
ash: ./hello_world: not found
我可能缺少一些依赖项——比如“net/http”?
但我认为 go build 会将所有内容都构建到二进制文件中。
这适用于 go build 和 go install。
任何的想法?
慕娘9325324
相关分类