2015/05/15 07:30:34 exec:“go”:在$ PATH中找不到可执行文件

时间:2015-05-15 07:48:25

标签: docker

我面临以下问题告诉我如何解决这个问题! 使用的命令:

$ sudo docker run --rm -P -p 9090:9090 --name trial godock &
$ docker run --rm -P -p 9090:9090 --name trial godock2015/05/18
03:35:25 exec: "go": executable file not found in $PATH
# go version
go version go1.2.1 linux/amd64

Docker文件

FROM ubuntu
RUN apt-get -y update
ADD server.go /src/server.go
ADD . /src
EXPOSE 9090
CMD ["go","run","/src/server.go"]

server.go

package main
import(
  "io"
  "net/http"
  "log"
  "fmt"
)
func HelloServer(w http.ResponseWriter, req * http.Request) {
  io.WriteString(w, "hello, world!\n")
}
func main() {
  fmt.Println("Starting server")
  http.HandleFunc("/hello", HelloServer)
  err: = http.ListenAndServe(":9090", nil)
  if err != nil {
    log.Fatal("ListenAndServe: ", err)
  }
}

请帮我解决这个问题..

1 个答案:

答案 0 :(得分:0)

安装Go In Your Container

您提到的文件类似于:

FROM ubuntu
RUN apt-get -y update
ADD server.go /src/server.go
ADD . /src
EXPOSE 9090
CMD ["go","run","/src/server.go"]

修改RUN命令以阅读以下内容以安装go工具:

RUN apt-get update && apt-get install -y golang

显式调用Go

您应该在Docker文件末尾的go指令中使用完整路径明确地引用CMD命令(请参阅CMD reference)。

使用以下代码修改示例Dockerfile的CMD

CMD [" / usr / bin / go"," run"," /src/server.go"]