小编sbo*_*ked的帖子

与docker的godep供应商

我正在尝试与供应商一起运行一个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)

go docker

6
推荐指数
1
解决办法
4478
查看次数

可以将 golang 通道绑定到模板中

upload.tmpl.html我有这样的go 模板 ( ):

\n\n
<html>\n<body>\n  <div class="container">\n    <ul>\n      <li>current fileName : {{ .fileName}} </li>\n    </ul> \n</body>\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n\n

处理程序uploadHandler.go

\n\n
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}\n
Run Code Online (Sandbox Code Playgroud)\n\n

ReadCsvFile()这样的方法:

\n\n
func ReadCsvFile(bytesCSV []byte, fileName chan string) {\n    r := …
Run Code Online (Sandbox Code Playgroud)

go go-templates

5
推荐指数
1
解决办法
912
查看次数

标签 统计

go ×2

docker ×1

go-templates ×1