2016-09-20 36 views
0

我正嘗試使用Docker Compose啓動一系列Docker容器。問題是我不斷收到一條錯誤消息,說目錄無效。我不知道我的dos的哪個目錄不存在。docker-compose up「無法啓動服務前端:oci運行時錯誤:不是目錄」

這裏是我的泊塢窗,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 /後端)爲我的後端集裝箱碼頭工人文件:

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 
+1

你可以發佈你的文件夾結構嗎? – johnharris85

+0

我編輯了我的帖子以添加文件夾結構。謝謝! – Prichmp

回答

0

我(種)解決我自己的問題。我自從決定使用Vagrant實例化CoreOS VM。一旦我使用CoreOS來運行Docker-Compose,一切都開始正常工作。發現問題不在我的實現中,但它必須是Docker-Compose,Docker-Machine或Docker的錯誤。

這給了我問題的版本是:

  • 泊塢窗,撰寫版本1.8.0,建立d988a55
  • 泊塢窗機版本0.8.0,建立b85aac1
  • 泊塢窗版本1.12.0, build 8eab29e

在VirtualBox上運行Windows 10時。

1

首先嚐試重新啓動您的碼頭工人服務。

如果還是不行,在Dockerfile的FROM語句後補充一點:

RUN mkdir -p /usr/src/myproj/ 
+1

是的,應該解決操作問題。 另外,使用COPY而不是ADD。 https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/#add-or-copy – Alkaline

+0

我已經完成了你的建議並添加了'RUN mkdir -p/usr/src/myproj/'到我的Docker文件。不工作。我仍然遇到同樣的錯誤。 :( – Prichmp

相關問題