【问题标题】:docker OCI runtime create faileddocker OCI 运行时创建失败
【发布时间】:2019-07-24 10:05:01
【问题描述】:

我在 java web 应用项目中使用以下 docker-compose 文件。

version: "3"
services:
  product:
    image: jboss/wildfly
    ports:
      - 8080:8080
    volumes:
      - Product/target/Product.war:/opt/jboss/wildfly/standalone/deployments

我得到的错误是

ERROR: Named volume "Product/target/Product.war:/opt/jboss/wildfly/standalone/deployments:rw" is used in service "product" but no declaration was found in the volumes section.
Failed to deploy 'Compose: docker-compose.yml': `docker-compose` process finished with exit code 1

编辑 OCI运行时创建失败:

在修复路径后,我遇到了另一个错误。 OCI 运行时创建失败:

Deploying 'Compose: docker-compose.yml'...
/usr/local/bin/docker-compose -f /Users/username/Desktop/Project/docker-compose.yml up -d
Starting project_product ... 
Starting project_product ... error
ERROR: for project_product  Cannot start service product: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:424: container init caused \"rootfs_linux.go:58: mounting \\\"/Users/username/Desktop/Project/User/target/Product.war\\\" to rootfs \\\"/var/lib/docker/overlay2/e090197e0697ec14446020cf2444dc0d3f39dfb240de9f399017415f6faeb13b/merged\\\" at \\\"/var/lib/docker/overlay2/e090197e0697ec14446020cf2444dc0d3f39dfb240de9f399017415f6faeb13b/merged/opt/jboss/wildfly/standalone/deployments\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type

ERROR: for product  Cannot start service product: OCI runtime create failed: container_linux.go:344: starting container process caused "process_linux.go:424: container init caused \"rootfs_linux.go:58: mounting \\\"/Users/username/Desktop/Project/User/target/Product.war\\\" to rootfs \\\"/var/lib/docker/overlay2/e090197e0697ec14446020cf2444dc0d3f39dfb240de9f399017415f6faeb13b/merged\\\" at \\\"/var/lib/docker/overlay2/e090197e0697ec14446020cf2444dc0d3f39dfb240de9f399017415f6faeb13b/merged/opt/jboss/wildfly/standalone/deployments\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.
Failed to deploy 'Compose: docker-compose.yml': `docker-compose` process finished with exit code 1

【问题讨论】:

  • ./Product/target...
  • Docker 编译文件卷挂载必须是绝对路径。您可以使用 ${PWD} 指定当前目录。
  • 谢谢大家,它已修复但遇到另一个错误,请查看编辑

标签: java docker docker-compose


【解决方案1】:

将本地文件挂载到容器中时,必须在开头添加.或使用绝对路径。否则 Docker 将假定它是一个命名卷,如错误所示。

【讨论】:

  • 在 yml 文件中没有 volume 属性可以正常工作
  • 已修复。将 product.war 附加到目标卷
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
  • 2020-06-05
  • 2021-06-03
  • 2020-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多