我有一台带有一些docker容器的服务器,该服务器可以启动以托管一些游戏聚会。
我想列出我的码头工人的容器,看看我的服务器是启动还是关闭。 但是我不知道该怎么做。 我的项目是使IHM列出泊坞窗的容器,并查看容器是打开还是关闭。我想用PHP做到这一点。
我试图用PHP列出一个基本的文件列表器功能,但是没有用。我尝试使用$ _SERVER变量。
您知道是否有可能,我该怎么做?
谢谢。
答案 0 :(得分:0)
如果要向上/向下检查容器:
docker ps -a
它显示您退出并正在运行的容器。如果您还想检查服务器程序是否运行良好,那么如果您的程序已作为ENTRYPOINTS启动,那么docker ps -a
也很有用。
否则,如果要检查不是入口点的其他程序是否启动/关闭,请参阅下一节:
如果要检查已启动容器中运行良好的程序,请执行以下操作: 可能是因为您要检查其他程序,所以您的容器已启动但无法正常工作。 对于这种情况,您可以定义一个HEALTHCHECK:docker documentation healthcheck
此时,您可以定义一个PHP程序来检查运行状况是否良好,并且该程序正在容器中运行,并且可以从此PHP程序输出的外部看到。
换句话说,您可以在docker中定义:
HEALTHCHECK --interval=5m --timeout=3s \
CMD <your PHP check program> || exit 1
答案 1 :(得分:0)
我们希望在我们的每项服务中都有一个“健康”网址。
例如在Laravel中,我们这样定义网络路线:
Route::any('health', function() {
try {
foreach (['default', 'secondDbConnection', 'thirdDbConnection'] as $dbConnection) {
DB::connection($dbConnection)->getPdo();
}
return response('OK', 200);
} catch (Exception $e) {
return response($e->getMessage(), 500);
}
});
Route::any('ping', function() {
return response('pong', 200);
});
这样,您可以检查包括以下内容的服务:它的数据库是健康的。
然后,您可以在健康信息中心上查看所有/ health网址