【问题标题】:Running Docker command in java在 java 中运行 Docker 命令
【发布时间】:2022-01-07 14:37:30
【问题描述】:

我试图在 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();
    }
    
}

【问题讨论】:

    标签: java linux docker docker-java


    【解决方案1】:

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

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。
    猜你喜欢
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-11
    • 2017-10-03
    相关资源
    最近更新 更多