我有一個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 關注
- 94 瀏覽
添加回答
舉報
0/150
提交
取消