这是docker-compose.yml的nginx部分,仅仅只挂载了站点根目录,在宿主机的www目录文件可以正常工作:
nginx:
depends_on:
- php
# nginx镜像的路径
image: hub.c.163.com/library/nginx:latest
# 宿主机的/docker/nginx/www目录挂载容器中的/usr/share/nginx/html目录,
volumes:
- /docker/nginx/www:/usr/share/nginx/html
# nginx意外退出时自动重启
restart: always
ports:
- "80:80"
- "443:443"
container_name: nginx
但是当我再挂载Nginx配置文件的时候:
nginx:
depends_on:
- php
# nginx镜像的路径
image: hub.c.163.com/library/nginx:latest
# 宿主机的/docker/nginx/www目录挂载容器中的/usr/share/nginx/html目录,
volumes:
- /docker/nginx/www:/usr/share/nginx/html
- /docker/nginx/conf:/etc/nginx/conf.d
# nginx意外退出时自动重启
restart: always
ports:
- "80:80"
- "443:443"
container_name: nginx
就不能正常工作了,已经把上一个正常工作时的Nginx配置文件复制到宿主机/docker/nginx/conf,但就是没有用。把这个挂载配置的
去掉就又可以了
1.如果nginx先不要挂载nginx文件,然后 docker exec -it 进入nginx,或者挂载到其他目录,查看文件是否挂载ok
2.如果宿主机是windows或者macos请检查目录共享,是否正确,一般来说都是Users下的项目会正确的挂载上去
下面是我之前遇到过的问题,希望对你有帮助:
/q/10...
是不是路径不对 我看了下我的项目里是这样的
- "./nginx.conf:/etc/nginx/conf.d/default.conf"
你可以bash进去看下路径
你这句注释是不是写反了