繁体   English   中英

Docker Compose 找不到 Docker

[英]Docker Compose can't find Docker

我正在尝试使用 docker-compose(Java 库)来运行 Docker。 但是,我不断收到异常:

Caused by: java.lang.IllegalStateException: Could not find docker, looked in: DockerCommandLocations{possiblePaths=[null, /usr/local/bin/docker, /usr/bin/docker]}

我的 docker 可执行文件在 usr/local/bin 中,而我的 docker compose 可执行文件在 usr/bin 中。 为什么会发生这种情况?

编辑:我发现图书馆正在运行:

new File(<eachDockerLocation>).exists();

其中 eachDockerLocation 是“/usr/bin/docker”和“/usr/local/bin/docker”。 对于这两种情况,都返回 false,这意味着 Java 由于某种原因无法看到它们。 为什么会这样?

EDIT2:我尝试在 IntelliJ 的测试项目中运行一个新的 File.exists() 并且它返回了同样的东西。 但是,在终端中运行时,它返回 true。 所以是IDE在这里不起作用。 同样有趣的是,当我在 IDE 中检查 file.exists("/usr/bin") 时,它返回 true。 但是如果我在 IDE 中运行 file.exists("/usr/bin/docker") ,它是错误的。

我发现原因是 Flatpak。 据我所知,由于 Flatpak 在沙箱中运行,IntelliJ 没有看到实际环境,因此无法找到实际机器上的文件。

所以我建议不要使用 IntelliJ 的 Flatpak 版本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM