我刚刚开始使用Docker.在我的OSX开发机器上使用官方NGINX映像(使用Docker Machine作为Docker主机)我遇到了sendfile
与VirtualBox 的错误,这意味着服务器无法显示我对文件所做的更改.
解决方法是使用已关闭的已修改的nginx.conf文件sendfile
.这个人的解决方案在Dockerfile中有一条指令,用于将自定义的conf文件复制到容器中.或者,这个人将NGINX配置映射到具有修改的conf文件的新文件夹.
这种东西在当地运作正常.但是,如果我不需要在云主机上进行此修改,该怎么办?在部署时,我应该如何处理这个和其他差异?
您可以通过自定义将自定义安装nginx.conf
到开发中的容器中,--volume ./nginx/nginx.conf:/etc/nginx/nginx.conf
并docker run
在生产中简单地省略此参数.
如果使用docker-compose,我建议的两个选项是:
使用对环境变量插值的有限支持,并volumes
在容器定义中添加以下内容:./nginx/nginx.${APP_ENV}.conf:/etc/nginx/nginx.conf
使用单独的YAML文件进行生产覆盖.