java - 在 Java 中运行 docker exec
问题描述
我从终端运行命令并且它工作,命令是:
docker exec mysql-container /bin/sh -c "./build/update-time.sh 1559652300000"
我希望能够在 JAVA 中做到这一点,所以我尝试了以下但失败了。任何想法如何使它工作?
public class DockerUtils {
public static DockerComposeRule docker;
public static DockerComposeExecOption option = DockerComposeExecOption.noOptions();
public static void updateTime() {
//also tried "bin/sh", "-c"
DockerComposeExecArgument args = DockerComposeExecArgument.arguments("bash", "-c", "./build/update-time.sh 1559652300000");
//this fails
docker.exec(option, "mysql-container", args);
}
}
投掷java.lang.NullPointerException
$> docker ps
(I had to cut the output below, but there is a container with the name!)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ce1e1d33dcef xx xx xx xx xx mysql-container
解决方案
推荐阅读
- python - 当条件匹配时仅使用 Python 中的 csv 包更新单元格值
- python - 如何从基于 LSTM 的自动编码器中获取潜在空间表示?
- bash - Tar 在 bash 中的每个反斜杠前面添加了额外的反斜杠
- c - 为什么在下一次循环迭代中指针设置为 NULL?
- angular - 如果我的组件由带有嵌套元素的选择器调用,我可以从 nsAfterViewInit 访问和操作这些嵌套元素吗?
- r - 当绘图区域大小裁剪 geom_bar 上的标签时,如何管理 facet_wrap 中的自由缩放
- laravel - 如何解决为 foreach() 提供的无效参数
- c# - GzipStream 块压缩导致文件损坏
- android - 显示或隐藏 AppBar 和 Toolbar - 取决于片段
- html - HTML 项目符号不显示