【发布时间】:2018-04-20 21:07:33
【问题描述】:
我正在使用 docker-compose 开发 nginx 服务,我创建了 docker-compose.yml 文件:
version: '2'
services:
nginx:
image: nginx:1.11.8-alpine
ports:
- "8858:80"
volumes:
- ./site.conf:/etc/nginx/conf.d/default.conf
- ./code:/usr/share/nginx/html
- ./html:/myapp
- ./site.conf:/etc/nginx/conf.d/site.conf
- ./error.log:/var/log/nginx/error.log
- ./nginx.conf:/etc/nginx/nginx.conf:ro
这是 site.conf 文件
server {
listen 80;
index index.html index.php;
server_name localhost;
error_log /var/log/nginx/error.log;
location / {
root /usr/share/nginx/html;
}
location /html {
alias /myapp;
}
}
这是 docker-compose up
的结果错误:对于 ef5152b88a7c_ef5152b88a7c_nginxdocker_nginx_1 无法启动 服务 nginx:oci 运行时错误:container_linux.go:247:正在启动 容器进程导致“process_linux.go:359:容器初始化导致 \"rootfs_linux.go:54: 挂载 \\"/root/nginx-docker/nginx.conf\\" 到 rootfs \\"/var/lib/docker/aufs/mnt/b463f0e0ca95db8cd570dfb68fcf206df31e86998e725465a7673ca192af8342\\" 在 \\"/var/lib/docker/aufs/mnt/b463f0e0ca95db8cd570dfb68fcf206df31e86998e725465a7673ca192af8342/etc/nginx/nginx.conf\\" 导致\\"不是目录\\"\""
:您是否尝试将目录挂载到文件上(反之亦然)? 检查指定的主机路径是否存在并且是预期的类型
【问题讨论】:
-
您确定
nginx.conf存在于主机文件夹中吗? -
错误很明显是指运行 compose 命令的文件夹中不存在 nginx.conf
-
感谢@Stefano 的回复,在我检查了 nginx.conf 的存在之后,它工作正常,但现在我面临着新的 nginx: [alert] could not打开错误日志文件:open() "/var/log/nginx/error.log" failed (21: Is a directory) and [emerg] 1#1: no "events" section in configuration
标签: docker nginx docker-compose dockerfile