发送Docker 版本 19.03.13,构建 4484c46d9d docker-compose 版本 1.22.0,构建 f46880fe描述我正在尝试开始使用杜松子酒。所有代码都在同一目录中,没有更多代码。码头工人-compose.ymlversion: '3'volumes: vendor:services: api: build: context: . dockerfile: Dockerfile volumes: - ./src/api:/go/src/api - vendor:/go/src/api/vendor ports: - 3001:3001 tty: trueDockerfileFROM golang:latestRUN mkdir /go/src/workWORKDIR /go/src/workADD . /go/src/workRUN go get -u github.com/gin-gonic/ginRUN go run main.gomain.gopackage mainimport ( "github.com/gin-gonic/gin")func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", }) }) r.Run(":3001")}我访问了 localhost:3001/ping 但我得到了This site can’t be reached.$ docker-compose up Building apiStep 1/6 : FROM golang:latest ---> 05c8f6d2538aStep 2/6 : RUN mkdir /go/src/work ---> Using cache ---> cf36db942ec5Step 3/6 : WORKDIR /go/src/work ---> Using cache ---> 42e96fcdf91eStep 4/6 : ADD . /go/src/work ---> ad489bfc861dStep 5/6 : RUN go get -u github.com/gin-gonic/gin ---> Running in 002710dc51c2Removing intermediate container 002710dc51c2 ---> ef8b0e792b6aStep 6/6 : RUN go run main.go ---> Running in afebc25d81e7[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production. - using env: export GIN_MODE=release - using code: gin.SetMode(gin.ReleaseMode)[GIN-debug] GET /ping --> main.main.func1 (3 handlers)[GIN-debug] Listening and serving HTTP on :3001我想知道如何解决?我试过了我尝试访问http://localhost:3001http://0.0.0.0:3001http://0.0.0.0:3001/ping在这些情况下我也得到了。This site can’t be reached
1 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
dockerfile 中的最后一条语句是错误的。它应该是一个CMD或ENTRYPOINT而不是一个RUN语句。文档位于https://docs.docker.com/engine/reference/builder/
FROM golang:latest
RUN mkdir /go/src/work
WORKDIR /go/src/work
ADD . /go/src/work
RUN go get -u github.com/gin-gonic/gin
CMD go run main.go
RUN和之间的区别在CMD这里解释:Difference between RUN and CMD in a Dockerfile
- 1 回答
- 0 关注
- 238 浏览
添加回答
举报
0/150
提交
取消
