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