我正在尝试与供应商一起运行一个docker容器.这是我的Dockerfile
FROM golang:alpine
EXPOSE 8080
RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN go build -o myapp .
CMD ["/app/myapp"]
Run Code Online (Sandbox Code Playgroud)
和我的main.go
package main
import (
"fmt"
"log"
"net/http"
"github.com/gorilla/mux"
)
func main() {
r := mux.NewRouter()
r.HandleFunc("/", Hello)
http.Handle("/", r)
fmt.Println("Starting up on 8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}
func Hello(w http.ResponseWriter, req *http.Request) {
fmt.Fprintln(w, "Hello world!")
}
Run Code Online (Sandbox Code Playgroud)
我正在使用godep来销售libs,它在我的本地机器上工作,但是当我试图用docker运行它时:
docker build -t myapp-img .
docker run -p 8080:8080 --name myapp-cnt myapp-img
Run Code Online (Sandbox Code Playgroud)
我有以下错误:
main.go:8:2: cannot find package "github.com/gorilla/mux" in any of: …Run Code Online (Sandbox Code Playgroud) upload.tmpl.html我有这样的go 模板 ( ):
<html>\n<body>\n <div class="container">\n <ul>\n <li>current fileName : {{ .fileName}} </li>\n </ul> \n</body>\n</html>\nRun Code Online (Sandbox Code Playgroud)\n\n处理程序uploadHandler.go与
func UploadHandler(c *gin.Context) {\n file, header, err := c.Request.FormFile("file-upload")\n if err != nil {\n log.Fatal("Erreur dans la r\xc3\xa9cup\xc3\xa9ration de fichier")\n }\n //...\n fileName := make(chan string)\n\n go ReadCsvFile(bytes, fileName)\n go func() {\n for {\n log.Info(<-fileName)\n }\n }()\n\n c.HTML(http.StatusOK, "upload.tmpl.html", gin.H{\n "fileName": <-fileName,\n })\n}\nRun Code Online (Sandbox Code Playgroud)\n\n和ReadCsvFile()这样的方法:
func ReadCsvFile(bytesCSV []byte, fileName chan string) {\n r := …Run Code Online (Sandbox Code Playgroud)