Docker:无法启动服务nginx

Docker:无法启动服务nginx,docker,nginx,docker-compose,dockerfile,Docker,Nginx,Docker Compose,Dockerfile,我正在使用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

我正在使用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\U ef5152b88a7c\U nginxdocker\U nginx\U 1无法启动 服务nginx:oci运行时错误:container\u linux.go:247:正在启动 container process-caused“process_linux.go:359:container init-caused \“rootfs_linux.go:54:mounting\\”/root/nginx docker/nginx.conf\\” 根除 \\“/var/lib/docker/aufs/mnt/b463f0e0ca95db8cd570dfb68fcf206df31e86998e725465a7673ca192af8342\\” 在 \\“/var/lib/docker/aufs/mnt/b463f0ca95db8cd570dfb68fcf206df31e86998e725465a7673ca192af8342/etc/nginx/nginx.conf\\” 导致\\“不是目录\\”\“”

:您是否正在尝试将目录装载到文件上(反之亦然)? 检查指定的主机路径是否存在并且是否为预期类型


这与Nginx无关


如果在
docker compose.yml
中使用
volumes
,请始终确保冒号左侧的文件
存在!如果您没有注意到这一点,Docker Compose有时会创建文件夹,而不是“在左侧”(=在主机上)IIRC上的文件。这会导致下一次运行时出现错误。

您确定主机文件夹中存在
nginx.conf
吗?错误很明显是指nginx.conf不存在于文件夹中。compose命令是从Thank you@Stefano运行的,谢谢您的响应,在我检查nginx.conf的存在后,它工作正常,但现在我面临一个新的nginx:[警报]无法打开错误日志文件:open()“/var/log/nginx/error.log”失败(21:是目录)并且配置中[emerg]1#1:无“事件”部分