【问题标题】:Mount point not found未找到挂载点
【发布时间】:2017-04-22 16:30:12
【问题描述】:

我正在使用 Jackson、CDI、Swagger 和 Drools 在 WildFly 上运行 Java EE 7 应用程序(包含很多类)。我认为这个错误源于我开始使用 Drools 时,但我不确定。由于没有对本地类的引用,我不知道错误源自何处。

AFAIK,应用程序没有问题,但是当我部署应用程序时,我收到以下错误:

ERROR java.io.IOException: Mount point not found
ERROR   at sun.nio.fs.LinuxFileStore.findMountEntry(LinuxFileStore.java:91)
ERROR   at sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:65)
ERROR   at sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:44)
ERROR   at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:51)
ERROR   at sun.nio.fs.LinuxFileSystemProvider.getFileStore(LinuxFileSystemProvider.java:39)
ERROR   at sun.nio.fs.UnixFileSystemProvider.getFileStore(UnixFileSystemProvider.java:368)
ERROR   at java.nio.file.Files.getFileStore(Files.java:1461)
ERROR   at org.jboss.as.controller.persistence.FilePersistenceUtils.getPosixAttributes(FilePersistenceUtils.java:124)
ERROR   at org.jboss.as.controller.persistence.FilePersistenceUtils.createTempFileWithAttributes(FilePersistenceUtils.java:112)
ERROR   at org.jboss.as.controller.persistence.FilePersistenceUtils.writeToTempFile(FilePersistenceUtils.java:99)
ERROR   at org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.doCommit(ConfigurationFilePersistenceResource.java:55)
ERROR   at org.jboss.as.controller.persistence.AbstractFilePersistenceResource.commit(AbstractFilePersistenceResource.java:58)
ERROR   at org.jboss.as.controller.ModelControllerImpl$4.commit(ModelControllerImpl.java:789)
ERROR   at org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:743)
ERROR   at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:680)
ERROR   at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:370)
ERROR   at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1329)
ERROR   at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:400)
ERROR   at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:222)
ERROR   at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:208)
ERROR   at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:130)
ERROR   at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:152)
ERROR   at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:148)
ERROR   at java.security.AccessController.doPrivileged(Native Method)
ERROR   at javax.security.auth.Subject.doAs(Subject.java:422)
ERROR   at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:149)
ERROR   at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:148)
ERROR   at org.jboss.as.protocol.mgmt.AbstractMessageHandler$ManagementRequestContextImpl$1.doExecute(AbstractMessageHandler.java:363)
ERROR   at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:472)
ERROR   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
ERROR   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
ERROR   at java.lang.Thread.run(Thread.java:745)
ERROR   at org.jboss.threads.JBossThread.run(JBossThread.java:320)

我正在使用 Docker Desktop for Windows。谁能帮我看看在哪里寻找解决方案,这个错误来自哪里?

【问题讨论】:

标签: docker docker-for-windows docker-desktop


【解决方案1】:

我在过去几天使用 Docker for Mac 中的 elasticsearch docker 映像时遇到了这个错误。我已经解决了将存储驱动程序从 overlay2 更改为 aufs 的问题(尚不确定此更改的真正影响)。您可以更改商店驱动程序:

  • Docker 首选项
  • 守护进程标签
  • 高级选项卡
  • 像这样编辑 json:

    { “存储驱动程序”:“aufs” }

希望对你有帮助

【讨论】:

  • 感谢作品!同样的问题在这里 Docker for Mac (17.03.1-ce-mac12 (17661))。 Docker 文档将 AUFS 描述为在某些情况下性能较低。
  • 很高兴为您提供帮助
  • 请注意,执行此操作后您将丢失图像和容器,请在此之前使用 docker save。
  • 我在 Ubuntu Linux 中也遇到了这个错误,你必须在/etc/docker/daemon.json 中添加这一行:{ "storage-driver" : "aufs" } 并重新启动 docker 服务。小心之前构建的图像,因为它们都会丢失,您应该先提交重要的图像。
【解决方案2】:

此错误是由您运行此应用程序的 docker 容器引起的。请查看此处的错误报告:

https://bugs.openjdk.java.net/browse/JDK-8165852

【讨论】:

  • 有一个 workaround 正在处理,因为 JDK 问题被标记为 tbd_major(这意味着下一个版本 -- 10 -- 可能包含它)。这应该在下一个 Wildfly 版本 (11) 中可用。
【解决方案3】:

我们在 OS X 上运行自定义弹性搜索容器时遇到了同样的问题。该容器是在 docker.elastic.co/elasticsearch/elasticsearch:5.3.0 上构建的。然而,容器在类似的环境中干净地启动,这似乎很可疑。

当我们注意到docker info 为我们显示不同的存储驱动程序时,问题终于解决了。 AUFS 似乎可以工作,而 overlay2 则不行。 It can be changed,但您必须重新获取并重建您当前的容器。

【讨论】:

  • 就我而言,问题出在 Windows 机器上。所以这是 (1) 不是特定于 OS X 或 (2) 完全不同的问题。
  • 您是否检查过是否可以更改存储类型? Docker for mac 似乎运行基于 linux 的虚拟机作为中间层,而 AFAIK 则是设置存储引擎的地方。
  • 对我来说,最糟糕的部分是我通过查看堆栈跟踪中的早期错误而误诊:原因:java.io.IOException:未能获得 /usr/share/elasticsearch 的锁定/数据/节点/0。所以开始使用 docker 卷和用户 id 1000,直到我意识到主要原因是:java.io.IOException: Mount point not found。在那之后和这个答案之后,将存储更改为 aufs 解决了它(lubuntu 和 osx)
【解决方案4】:

我遇到了同样的错误ERROR java.io.IOException: Mount point not found ,这是由我的应用程序先前的部署过程错误引起的。

PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."my app.war".PARSE: WFLYSRV0153: Failed to process phase PARSE of deployment "myapp.war" at... ... Caused by: java.lang.IllegalArgumentException: WFLYEE0040: A component named 'ExampleEJB' is already defined in this module

我想由于部署错误,docker 无法(执行ADD 和/或CMD 命令)复制应用程序文件并将它们添加到映像的文件系统中。

Dockerfile

ADD ./deployments /wildfly/standalone/deployments ... CMD ["/wildfly/bin/standalone.sh", ..., "--debug"]

在我的情况下,解决应用程序错误修复了挂载点异常。

另外,我是 docker 界的新手,欢迎提出任何建议。

【讨论】:

    猜你喜欢
    • 2014-11-19
    • 1970-01-01
    • 2020-01-05
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多