docker-compose up“无法启动服务前端:oci运行时错误:不是目录”

我正在尝试使用Docker Compose启动一系列Docker容器。 问题是我不断收到一个错误信息,说目录是无效的。 我不知道我的dos目录不存在。

这是我的docker-compose.yaml(在myProj文件夹中):

version: '2' services: postgres: build: ./postgres environment: - POSTGRES_PASSWORD=mysecretpassword frontend: build: ./frontend ports: - "4567:4567" depends_on: - postgres backend: build: ./backend ports: - "5000:5000" depends_on: - postgres 

(myProj / backend)中的后端容器的docker文件:

 FROM openjdk:8-alpine ADD ./backend-0.0.1-SNAPSHOT.jar /usr/src/myproj/ WORKDIR /usr/src/myproj/ CMD java -jar backend-0.0.1-SNAPSHOT.jar 

当我运行“docker-compose up”时,我收到以下消息:

 docker_postgres_1 is up-to-date Starting docker_backend_1 Starting docker_frontend_1 ERROR: for frontend Cannot start service frontend: oci runtime error: not a directory ERROR: for backend Cannot start service backend: oci runtime error: not a directory ERROR: Encountered errors while bringing up the project. 

看来Postgres的容器没有问题。 我需要修复哪个目录?

编辑:文件夹结构

 myProj - postgres - Dockerfile - frontend - Dockerfile - frontend-0.0.1-SNAPSHOT.jar - backend - Dockerfile - backend-0.0.1-SNAPSHOT.jar 

尝试先重新启动Docker服务。

如果这不起作用,请在Dockerfile中的FROM语句之后添加:

 RUN mkdir -p /usr/src/myproj/ 

我(有)解决了我自己的问题。 我自从决定使用Vagrant实例化一个CoreOS VM。 一旦我使用CoreOS运行Docker-Compose,一切正常开始。 原来这个问题并不在我的实现中,但是它必须是Docker-Compose,Docker-Machine或者Docker的一个bug。

给我的问题的版本是:

  • docker构成版本1.8.0,构buildd988a55
  • docker-machine version 0.8.0,build b85aac1
  • docker版本1.12.0,编译8eab29e

在VirtualBox上运行Windows 10时。