登录
首页 >  Golang >  Go问答

在dockerfile中运行一个简单的go .exe

来源:stackoverflow

时间:2024-02-13 13:00:24 375浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《在dockerfile中运行一个简单的go .exe》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

我有以下 dockerfile,除了运行 .exe 之外,一切正常

FROM golang:latest

# Set the Current Working Directory inside the container
WORKDIR $GOPATH/src/github.com/user/goserver

# Copy everything from the current directory to the PWD (Present Working Directory) inside the container
COPY . .

# Download all the dependencies
RUN go get -d -v ./...

# Install the package
RUN GOOS=linux GOARCH=amd64 go build -o goserver .

# This container exposes port 8080 to the outside world
EXPOSE 8080

# Run the executable
CMD ./goserver

问题是它不执行“./goserver”。我需要手动进入容器然后执行它。知道这里可能出了什么问题吗?


解决方案


问题在于您运行容器的方式。

通过使用以下命令运行容器:

docker run -it -p 8080:8080 goserver /bin/bash

您正在将 dockerfile 中使用 cmd 定义的命令覆盖为 bin/bash 命令。

您可以通过运行以下方式以分离模式启动容器:

docker run -d -p 8080:8080 goserver

此外,如果您想稍后将 exec 放入容器中,则可以使用 docker exec 命令。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>