我有一个Docker只运行我创建的二进制文件的容器,Go它是一个带有Gin框架的 http 服务器。我不使用任何其他 Web 服务器,只使用 Go 的内部 http 服务器。在我Dockerfile的文件末尾我有这个:EXPOSE 80
CMD ["/home/project/microservices/backend/engine/cmd/main"]我docker-compose用来运行容器和restart: always每个容器。它有效!但我的问题是,如果我创建的 http 服务器由于编程错误或其他原因而失败,它会重新启动吗?我怎样才能检查这个?Docker 有这方面的工具吗?我试过 go withSupervisord但它有一些问题,我没有成功运行它。我想要一个解决方法来保持容器内的 http 服务器始终运行。我能做什么?
1 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
您可以尝试从主机中终止进程。使用类似的方法查找进程 ID
ps -aux | grep main
然后使用杀死它
sudo kill <process id>
然后 Docker 将重新启动它。通过使用
docker ps
您应该会看到“状态”已更改为类似 的内容Up 10 seconds
。
- 1 回答
- 0 关注
- 76 浏览
添加回答
举报
0/150
提交
取消