我面临以下问题告诉我如何解决这个问题! 使用的命令:
$ 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)
}
}
请帮我解决这个问题..
答案 0 :(得分:0)
您提到的文件类似于:
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
您应该在Docker文件末尾的go
指令中使用完整路径明确地引用CMD
命令(请参阅CMD reference)。
使用以下代码修改示例Dockerfile的CMD
CMD [" / usr / bin / go"," run"," /src/server.go"]