Java程序调用Docker命令并获取输出

场景描述:

开发一个可以在服务器调用Docker命令的Java程序,然后build成jar包,直接丢到服务器跑

代码编写

public static String getinfor(String command) {
        String finalcommand ="docker run "+command;
        StringBuilder strb = new StringBuilder();
        //开始和结束的下标
        int beginIndex = 0;
        int endIndex = 0;
        try{
            Process process = Runtime.getRuntime().exec(finalcommand);
            process.waitFor();
            //读取屏幕输出
            BufferedReader strCon = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = strCon.readLine()) != null) {
                strb.append(line+"\n");
            }
            //根据自己的业务场景来
            if(strb.toString().contains("$body$")){
                beginIndex = strb.indexOf("$body$");
                endIndex = strb.lastIndexOf("$body$");
            }
        }catch (Exception e){
            System.out.println("报错信息为:"+e.toString());
        }
        return strb.substring(beginIndex,endIndex);
    }

 

你可能感兴趣的:(Java程序调用Docker命令并获取输出)