首页接口重构
This commit is contained in:
@@ -15,10 +15,11 @@ public class DockerResult implements Serializable {
|
||||
private String error;
|
||||
private String message;
|
||||
|
||||
public static DockerResult ok(String output) {
|
||||
public static DockerResult ok(String output,String message) {
|
||||
DockerResult r = new DockerResult();
|
||||
r.success = true;
|
||||
r.output = output;
|
||||
r.message = message;
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.jeesite.modules.apps.Module.DockerResult;
|
||||
import com.jeesite.modules.apps.Module.SystemInfo;
|
||||
import com.jeesite.modules.biz.entity.MySftpAccounts;
|
||||
import io.micrometer.common.util.StringUtils;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
@@ -71,9 +72,18 @@ public class DockerUtil {
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
} finally {
|
||||
try { if (in != null) in.close(); } catch (Exception ignored) {}
|
||||
try { if (channel != null) channel.disconnect(); } catch (Exception ignored) {}
|
||||
try { if (session != null) session.disconnect(); } catch (Exception ignored) {}
|
||||
try {
|
||||
if (in != null) in.close();
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
try {
|
||||
if (channel != null) channel.disconnect();
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
try {
|
||||
if (session != null) session.disconnect();
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,33 +117,33 @@ public class DockerUtil {
|
||||
// ====================== 容器操作 ======================
|
||||
public static DockerResult start(MySftpAccounts accounts, String containerId) {
|
||||
String res = runCommand(accounts, "docker start " + containerId);
|
||||
return res != null ? DockerResult.ok(res) : DockerResult.fail("启动失败");
|
||||
return DockerResult.ok(res, Objects.nonNull(res) ? "启动容器成功" : "启动容器失败");
|
||||
}
|
||||
|
||||
public static DockerResult stop(MySftpAccounts accounts, String containerId) {
|
||||
String res = runCommand(accounts, "docker stop " + containerId);
|
||||
return res != null ? DockerResult.ok(res) : DockerResult.fail("停止失败");
|
||||
return DockerResult.ok(res, Objects.nonNull(res) ? "停止容器成功" : "停止容器失败");
|
||||
}
|
||||
|
||||
public static DockerResult restart(MySftpAccounts accounts, String containerId) {
|
||||
String res = runCommand(accounts, "docker restart " + containerId);
|
||||
return res != null ? DockerResult.ok(res) : DockerResult.fail("重启失败");
|
||||
return DockerResult.ok(res, Objects.nonNull(res) ? "重启容器成功" : "重启容器失败");
|
||||
}
|
||||
|
||||
public static DockerResult getLogs(MySftpAccounts accounts, String containerId, int tail, boolean timestamps) {
|
||||
String cmd = "docker logs " + (timestamps ? "-t " : "") + "--tail " + tail + " " + containerId;
|
||||
String res = runCommand(accounts, cmd);
|
||||
return res != null ? DockerResult.ok(res) : DockerResult.fail("获取日志失败");
|
||||
return DockerResult.ok(res, Objects.nonNull(res) ? "获取容器日志成功" : "获取容器日志失败");
|
||||
}
|
||||
|
||||
public static DockerResult listRaw(MySftpAccounts accounts, boolean all) {
|
||||
String res = runCommand(accounts, all ? "docker ps -a" : "docker ps");
|
||||
return res != null ? DockerResult.ok(res) : DockerResult.fail("获取容器列表失败");
|
||||
return DockerResult.ok(res, Objects.nonNull(res) ? "获取容器列表成功" : "获取容器列表失败");
|
||||
}
|
||||
|
||||
public static DockerResult inspect(MySftpAccounts accounts, String containerId) {
|
||||
String res = runCommand(accounts, "docker inspect " + containerId);
|
||||
return res != null ? DockerResult.ok(res) : DockerResult.fail("查询详情失败");
|
||||
return DockerResult.ok(res, Objects.nonNull(res) ? "查询容器详情成功" : "查询容器详情失败");
|
||||
}
|
||||
|
||||
public static SystemInfo systemInfo(MySftpAccounts accounts) {
|
||||
@@ -145,7 +155,6 @@ public class DockerUtil {
|
||||
|
||||
String output = runCommand(accounts, cmd);
|
||||
if (output == null) return info;
|
||||
|
||||
String[] lines = output.split("\\R");
|
||||
if (lines.length >= 1) info.setCpu(lines[0].trim());
|
||||
if (lines.length >= 2) info.setMemory(lines[1].trim());
|
||||
|
||||
Reference in New Issue
Block a user