登录
首页 >  Golang >  Go问答

在 Docker 容器中持续运行 Go HTTP 服务器应用程序

来源:stackoverflow

时间:2024-02-21 20:06:26 311浏览 收藏

本篇文章给大家分享《在 Docker 容器中持续运行 Go HTTP 服务器应用程序》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我有一个 docker 容器,它只运行我创建的 go 二进制文件,它是一个带有 gin 框架的 http 服务器。我没有使用任何其他 web 服务器,只使用 go 的内部 http 服务器。在文件末尾的 dockerfile 中,我有以下内容:

EXPOSE 80

CMD ["/home/project/microservices/backend/engine/cmd/main"]

我使用 docker-compose 来运行容器,并为每个容器使用 restart:always 。而且它有效!

但我的问题是,如果我创建的http服务器由于编程错误或其他原因失败,它会重新启动吗?我怎样才能检查这个? docker 有这方面的工具吗?

我尝试使用 supervisord 但它有一些问题,我运行它没有成功。

我想要一种解决方法来保持容器内的 http 服务器始终运行。

我能做什么?


正确答案


您可以尝试从主机终止该进程。使用类似的方法查找进程 id

ps -aux | grep main

然后使用杀死它

sudo kill 

然后 docker 将重新启动它。通过使用

docker ps

您应该看到“状态”已更改为类似 up 10 秒 的内容。

好了,本文到此结束,带大家了解了《在 Docker 容器中持续运行 Go HTTP 服务器应用程序》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

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