docker (windows10 wsl2) 无法挂载 ./nginx/conf.d:/etc/nginx/conf.d

时间:2021-03-21 10:13:12

标签: docker docker-compose

我尝试映射./nginx/conf.d:/etc/nginx/conf.d,以下是yml中的命令

volumes:
  - ./nginx/nginx.conf:/etc/nginx/nginx.conf
  #- ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
  #- ./nginx/conf.d/docker1.example.com.conf:/etc/nginx/conf.d/docker1.example.com.conf      
  #- ./nginx/conf.d/docker2.example.com.conf:/etc/nginx/conf.d/docker2.example.com.conf      
  - ./nginx/conf.d:/etc/nginx/conf.d
  - ./src:/var/www

在镜像中,/etc/nginx/conf.d下有一个default.conf,当我运行docker-compose up时,它尝试创建一个名为default.conf的目录,所以nginx启动时报错

我也尝试在本地目录中运行命令之前先创建./nginx/conf.d/default.conf,但还是不行。

有人知道如何以正确的方式映射 ./nginx/conf.d:/etc/nginx/conf.d 吗?

1 个答案:

答案 0 :(得分:1)

看来您的做法是正确的,只是有一点令人讨厌:

在两个位置之间映射内容时,应确保将两者分开时语法正确 /:/

volumes:
  - ./nginx/nginx.conf/:/etc/nginx/nginx.conf
  - ./nginx/conf.d/default.conf/:/etc/nginx/conf.d/default.conf
  - ./nginx/conf.d/docker1.example.com.conf/:/etc/nginx/conf.d/docker1.example.com.conf      
  - ./nginx/conf.d/docker2.example.com.conf/:/etc/nginx/conf.d/docker2.example.com.conf      
  - ./nginx/conf.d/:/etc/nginx/conf.d
  - ./src/:/var/www