Docker Compose构建时Nginx.conf文件找不到的报错求助
解决Docker构建时找不到nginx.conf的问题
报错原因
报错提示找不到/nginx.conf,核心问题是Docker构建上下文与文件实际路径不匹配:
- docker-compose中
build.context设为.(解决方案根目录),所有COPY命令的文件路径均相对于这个根目录查找 - 你的nginx.conf实际位于
src/ClientApp/Angular/目录下,但Dockerfile里的COPY nginx.conf /etc/nginx/nginx.conf会在根目录下查找该文件,因此找不到。
可行解决方案
方案1:修改Dockerfile中的COPY路径
直接写出nginx.conf相对于构建上下文(根目录)的完整路径:
# 替换原有的COPY nginx.conf行 COPY src/ClientApp/Angular/nginx.conf /etc/nginx/nginx.conf
方案2:调整docker-compose的构建上下文
将构建上下文改为nginx.conf所在的目录,让Dockerfile里的相对路径自动匹配:
修改docker-compose.yml的build配置:
clientapp: image: ${DOCKER_REGISTRY-}clientapp build: context: src/ClientApp/Angular # 切换到nginx.conf所在目录 dockerfile: Dockerfile # 上下文已切换,直接引用当前目录的Dockerfile ports: - 4200:80
这种方式下,Dockerfile里的COPY nginx.conf /etc/nginx/nginx.conf无需修改,因为上下文就是该文件所在目录。
内容的提问来源于stack exchange,提问作者6insen6
相关产品推荐
相关产品推荐

