0

我试图在docker trough java中运行这个命令,但我不知道为什么它只在我在主机中执行命令而不是通过java时才有效(在java上执行时它不会添加或什么都不说) . 我 99% 确定问题是回声的“>>”,但我不知道如何解决它。

    private void doCommand(){
    
    String command = "docker exec -i -t vsftpd bash -c 'echo -e \"myuser5\\nmypass\" >> /etc/vsftpd/virtual_users.txt'";

    try {
        ProcessBuilder pb = new ProcessBuilder(command);
        
        Process process = pb.start();

        InputStream inputStream = process.getInputStream();

        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

        String line = null;

        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
    }catch (Exception e){
        e.printStackTrace();
    }
    
}
4

1 回答 1

0

错误已解决,使用https://github.com/docker-java/docker-java修复

于 2022-01-07T17:01:56.847 回答