docker启动Nginx失败

docker-compose启动nginx失败
配置:


nginx-web:
    image: nginx:1.21.6
    container_name: nginx-web
    environment:
      # 时区上海
      TZ: Asia/Shanghai
    ports:
      - "80:80"
      - "443:443"
    volumes:
      # 证书映射
      - /docker/nginx/cert:/etc/nginx/cert
      # 配置文件映射
      - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      # 页面目录
      - /docker/nginx/html:/usr/share/nginx/html
      # 日志目录
      - /docker/nginx/log:/var/log/nginx
    privileged: true
    network_mode: "host"
主机/docker目录权限设置

img

/docker/ngix/cert权限设置及文件

img

/docker/nginx/conf/nginx.conf配置

img

报错日志

img

查看volumn,发现也没什么问题

img

先把错误这里的问题解决了呀,没找到证书文件。解决了再试试


docker logs container_name

从日志中找错改错

配置容器映射时会覆盖掉容器内文件内容,你的那个conf配置文件映射,如果宿主机目录里没有配置文件,就会导致容器内的配置文件也没了,于是容器会启动失败。
所以事先需要将nginx的一份配置文件放在宿主机目录里。没有配置文件的话可以先建一个无映射的nginx容器,将里面的配置文件拷贝出来,在rm掉容器重新建。

不知道能否解决你的问题