我是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
对任何想法都会感到高兴。到目前为止,我的搜索没有成功。
答案 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),则首先需要共享驱动器并进行检查。
但是,您需要找到解决方案以首先建立共享目录。