docker-compose挂载问题

这是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,但就是没有用。把这个挂载配置的
去掉就又可以了

已解决并整理:https://github.com/voocel/doc... 欢迎star

阅读 8.1k
3 个回答

1.如果nginx先不要挂载nginx文件,然后 docker exec -it 进入nginx,或者挂载到其他目录,查看文件是否挂载ok
2.如果宿主机是windows或者macos请检查目录共享,是否正确,一般来说都是Users下的项目会正确的挂载上去
下面是我之前遇到过的问题,希望对你有帮助:
https://segmentfault.com/q/10...

是不是路径不对 我看了下我的项目里是这样的
- "./nginx.conf:/etc/nginx/conf.d/default.conf"

你可以bash进去看下路径

你这句注释是不是写反了

# 容器的/docker/nginx/www目录挂载主机中的/usr/share/nginx/html目录
新手上路,请多包涵
  • /docker/nginx/www/:/usr/share/nginx/html/
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题