Oci运行时错误docker-compose不是目录

时间:2016-12-06 08:56:39

标签: nginx docker docker-compose

我是docker的新手,目前正在努力解决以下问题:

在docker终端中启动命令后:

OAUTH_CLIENT_ID=<...> OAUTH_CLIENT_SECRET=<...>      
OAUTH_URL_CALLBACK=http://192.168.99.100/api/v1/auth/login docker-compose --
file test/docker-compose.yml up

我收到以下错误消息:

ERROR: for platform  Cannot start service platform: invalid header field 
value "oci runtime error: container_linux.go:247: starting container process 
caused \"process_linux.go:359: container init caused \\\"rootfs_linux.go:53:  
mounting \\\\\\\"/c/users/m_konk01/documents/GitHub/o2r-
platform/test/nginx.conf\\\\\\\" to rootfs 
\\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/29c14c514916cf09070c6dd084bee55fa899d9
79b3f7b9521f1ab25e3a8232a0\\\\\\\" at 
\\\\\\\"/mnt/sda1/var/lib/docker/aufs/mnt/29c14c514916cf09070c6dd084bee55fa899d9
 79b3f7b9521f1ab25e3a8232a0/etc/nginx/nginx.conf\\\\\\\" caused \\\\\\\"not 
a directory\\\\\\\"\\\"\"\n" [31mERROR[0m: Encountered errors while bringing up the project.

docker-compose.yml启动了几个docker容器并包含以下平台设置:

platform:
image: nginx:latest
depends_on:
  - container1
  - container2
  - container3
  - container4
volumes:
  - "./nginx.conf:/etc/nginx/nginx.conf:ro"
  - "../client:/etc/nginx/html"
ports:
  - "80:80"

Docker版本

$ docker version
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 23:26:11 2016
 OS/Arch:      windows/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 23:26:11 2016
 OS/Arch:      linux/amd64

对任何想法都会感到高兴。到目前为止,我的搜索没有成功。

2 个答案:

答案 0 :(得分:1)

好像你想要将文件挂载到文件中。我记得你的码头版本不允许。你必须在你的Dockerfile中移动你的nginx.conf

Dockerfile:

....
ADD         nginx.conf  /tmp/

RUN         mv /tmp/nginx.conf /etc/nginx/nginx.conf && \

....

这对你有用。如果没有告诉我你的下一个错误代码

答案 1 :(得分:0)

由于卷安装不正确,我遇到了类似的问题。 因此,docker默认行为将/nginx.conf视为目录并给出此错误。

要确认这一点,您可以将其ssh到映像中,然后转到共享目录并检查文件是否存在。

示例:docker exec -it nginx sh并转到/etc/nginx/html,您将看不到本地文件。然后,您可以确认卷共享不起作用。您需要解决该问题。

如果您使用的是Windows 10(hyper-v),则首先需要共享驱动器并进行检查。

但是,您需要找到解决方案以首先建立共享目录。