Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
docker(windows10 wsl2)无法装载。/nginx/conf.d:/etc/nginx/conf.d_Docker_Docker Compose - Fatal编程技术网

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

docker(windows10 wsl2)无法装载。/nginx/conf.d:/etc/nginx/conf.d,docker,docker-compose,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.

我尝试映射./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吗?

看来你做的是正确的,除了一点小的、恼人的地方:

在两个位置之间映射内容时,在分隔这两个位置时,应确保sintax正确

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

-/nginx/conf.d/:/etc/nginx/conf.d不工作错误:错误:对于901c2e0a876a_测试,nginx无法为服务创建容器nginx:mkdir/mnt/wsl/docker desktop bind mounts/Ubuntu-20.04/de3ff82f9842d3f2459da6cc70ecc8114d2ddab50680fb2ea54cfac6be7b:mkdir/mnt/wsl/docker desktop bind mounts/Ubuntu-20.04/de3ff82f9842d3f2459da6cc70ecc8114d2ddab50680fb2ea54ceac3c6be7b:不是一个目录我注释掉的那些行可以工作,但我不想一个接一个地挂载每个文件,否则每次添加额外文件时我都需要重新启动,这是个好消息,因为这意味着它现在映射正确。为了更好地了解您正在映射的内容,我注意到您实际上不需要第二个、第三个和第四个,因为您正在使用
/nginx/conf.d/:/etc/nginx/conf.d
映射整个目录,所以您是对的,可以将它们注释掉(或直接删除)这样,您将有一个卷映射nginx config文件的整个目录,无需在每次添加/删除任何有效的文件时重新启动容器,现在这里有命令-./nginx/conf:/etc/nginx/conf.d