2

嘿,非常感谢所有的帮助,我已经坚持了一周了......

我正在尝试将由框架 goa 构建的 golang 后端 api 放入 docker 容器中。当我构建并运行 go 二进制文件时,服务器按预期工作,我可以转到我的路线并查看返回的数据。一旦我将服务器放入 docker 容器中,我就会得到 ERR_CONNECTION_REFUSED / ERR_SOCKET_NOT_CONNECTED,我对自己做错了什么感到非常困惑。

这是我的 Docker 文件

# Grab hardened go image from artifactory.
FROM golang:1.16.9-alpine 

# Set working directory to be inside the container.
WORKDIR /app
    
COPY . .

# Download all dependencies. 
RUN go build -o main ./cmd

#Expose the port
EXPOSE 8080

# Run the executable
CMD ["./main"]

这是我的 netstat 结果

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      -                   
tcp6       0      0 :::8080                 :::*                    LISTEN      -  

最后,这是我运行容器的时候

[api] 21:43:17 HTTP "Auth" mounted on GET /api/auth
[api] 21:43:17 HTTP "Create" mounted on POST /api/user
[api] 21:43:17 HTTP "ReadByID" mounted on GET /api/user/{id}
[api] 21:43:17 HTTP server listening on "localhost:8080"

任何帮助表示赞赏,让我知道是否可以提供更多详细信息

4

0 回答 0