猿问

运行微服务go(未找到)

我的 Go Module 项目遇到的错误

/bin/sh: 微服务: 未找到

文件

FROM golang:1.7.4-alpine

MAINTAINER John Doe


ENV SOURCES /go/src/github.com/john/app/


COPY . ${SOURCES}


RUN cd ${SOURCES} && cgo_enabled=0 go install


ENV PORT 8080

EXPOSE 8080


ENTRYPOINT microservice

微服务.go


package main


import (

    "fmt"

    "net/http"

    "os"

)


func main() {

    http.HandleFunc("/", index)

    http.ListenAndServe(port(), nil)

}


func port() string {

    port := os.Getenv("PORT")

    fmt.Println(port)

    if len(port) == 0 {

        port = "8080"

    }

    return ":" + port

}


func index(w http.ResponseWriter, r *http.Request) {

    w.WriteHeader(http.StatusOK)

    fmt.Fprintf(w, "Hello World.")

}

这是一个 Go 模块项目。我使用以下命令创建了一个图像。


docker build -t app:1.0.3 .

并通过运行它


docker run -it -p 8080:8080 app:1.0.3


LEATH
浏览 90回答 1
1回答

莫回无

创建的可执行文件位于/go/bin/app,当前工作目录为/go。因此,将 Dockerfile 的最后一行更改为此ENTRYPOINT ./bin/app
随时随地看视频慕课网APP

相关分类

Go
我要回答