3 回答
TA贡献1824条经验 获得超8个赞
这是我为我的 Golang 网络应用程序使用框架所做的Gin-gonic- 我的 Dockerfile:
FROM golang:latest
# Author
MAINTAINER dangminhtruong
# Create working folder
RUN mkdir /app
COPY . /app
RUN apt -y update && apt -y install git
RUN go get github.com/go-sql-driver/mysql
RUN go get github.com/gosimple/slug
RUN go get github.com/gin-gonic/gin
RUN go get gopkg.in/russross/blackfriday.v2
RUN go get github.com/gin-gonic/contrib/sessions
WORKDIR /app
然后构建docker镜像
docker build -t web-app:latest .
最后,启动我的网络应用程序
docker run -it -p 80:8080 -d web-app:latest go run main.go //My webapp start at 8080 port
希望这有帮助
TA贡献1818条经验 获得超7个赞
我猜你没有在容器外暴露 Docker 端口。这就是为什么您看不到任何输出而不仅仅是特定于 GO 程序的原因。尝试将以下行添加到您的 docker compose 文件中
EXPOSE 80(whichever port you want it to be)
EXPOSE 443
EXPOSE 3306
这将使容器可以从外部访问
TA贡献1802条经验 获得超5个赞
你不需要 Nginx 在 Go 中运行服务器
最好在 Dockerfile 中构建一个二进制文件
您的 Dockerfile 可能如下所示:
FROM golang:latest
RUN mkdir /app
ADD . /app/
WORKDIR /app
RUN go build -o main .
EXPOSE 8000
CMD ["/app/main"]
- 3 回答
- 0 关注
- 136 浏览
添加回答
举报