Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t访问gin on docker提供的本地主机(无法访问此站点) 环境_Docker_Go_Docker Compose - Fatal编程技术网

Can';t访问gin on docker提供的本地主机(无法访问此站点) 环境

Can';t访问gin on docker提供的本地主机(无法访问此站点) 环境,docker,go,docker-compose,Docker,Go,Docker Compose,Docker版本19.03.13,内部版本4484c46d9d docker compose版本1.22.0,构建f46880fe 描述 我想开始喝杜松子酒。 所有代码都在同一个目录中,没有其他代码 docker-compose.yml 版本:“3” 卷数: 小贩: 服务: 应用程序编程接口: 建造: 上下文:。 dockerfile:dockerfile 卷数: -./src/api:/go/src/api -供应商:/go/src/api/供应商 端口: - 3001:3001 tty: 真

Docker版本19.03.13,内部版本4484c46d9d
docker compose版本1.22.0,构建f46880fe

描述 我想开始喝杜松子酒。
所有代码都在同一个目录中,没有其他代码

docker-compose.yml

版本:“3”
卷数:
小贩:
服务:
应用程序编程接口:
建造:
上下文:。
dockerfile:dockerfile
卷数:
-./src/api:/go/src/api
-供应商:/go/src/api/供应商
端口:
- 3001:3001
tty:
真的
Dockerfile

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
RUN go run main.go
梅因,加油

主程序包
进口(
“github.com/gin gonic/gin”
)
func main(){
r:=gin.Default()
r、 GET(“/ping”,func(c*gin.Context){
c、 JSON(200,gin.H{
“消息”:“pong”,
})
})
r、 运行(“:3001”)
}
我访问了localhost:3001/ping,但我得到的
无法访问此站点

$ docker-compose up       
Building api
Step 1/6 : FROM golang:latest
 ---> 05c8f6d2538a
Step 2/6 : RUN mkdir /go/src/work
 ---> Using cache
 ---> cf36db942ec5
Step 3/6 : WORKDIR /go/src/work
 ---> Using cache
 ---> 42e96fcdf91e
Step 4/6 : ADD . /go/src/work
 ---> ad489bfc861d
Step 5/6 : RUN go get -u github.com/gin-gonic/gin
 ---> Running in 002710dc51c2
Removing intermediate container 002710dc51c2
 ---> ef8b0e792b6a
Step 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:3001



我得到
在这种情况下也无法访问此站点。

您的dockerfile中的最后一句话是错误的。它应该是
CMD
ENTRYPOINT
而不是
RUN
语句。文件可在

此处解释了
RUN
CMD
之间的区别:

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