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时。