我尝试使用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
我的后端容器中的docker文件(myProj / backend):
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
答案 0 :(得分:1)
首先尝试重新启动Docker服务。
如果这不起作用,请在Dockerfile中的FROM
语句之后添加:
RUN mkdir -p /usr/src/myproj/
答案 1 :(得分:0)
我(有点)解决了我自己的问题。我决定使用Vagrant实例化CoreOS VM。一旦我使用CoreOS运行Docker-Compose,一切都开始正常工作。事实证明问题不在我的实现中,但它必须是Docker-Compose,Docker-Machine或Docker的错误。
给我带来问题的版本是:
在使用VirtualBox的Windows 10上运行时。