docker(windows10 wsl2)无法装载。/nginx/conf.d:/etc/nginx/conf.d
我尝试映射./nginx/conf.d:/etc/nginx/conf.d,下面是yml中的命令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.
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