Can';t访问gin on docker提供的本地主机(无法访问此站点) 环境
Docker版本19.03.13,内部版本4484c46d9dCan';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 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