在docker容器中放置nginx.conf文件的位置

在docker容器中放置nginx.conf文件的位置,docker,nginx,Docker,Nginx,我有一个flask应用程序在docker容器中的AWS ec2中运行,我有延迟问题。我认为这是因为在容器中,localhost路由到ipv4的127.0.0.1和ipv6的::1(基于其他一些SO帖子)。我找到了正确解决问题的方法。但在博客中,他使用了nginx,这是我以前从未使用过的。他有一个nginx配置文件: location / { try_files $uri @project; } location @project { include uwsgi_params; u

我有一个flask应用程序在docker容器中的AWS ec2中运行,我有延迟问题。我认为这是因为在容器中,localhost路由到ipv4的
127.0.0.1
和ipv6的
::1
(基于其他一些SO帖子)。我找到了正确解决问题的方法。但在博客中,他使用了nginx,这是我以前从未使用过的。他有一个nginx配置文件:

location / { try_files $uri @project; }
location @project {
    include uwsgi_params;
    uwsgi_pass unix:/tmp/uwsgi.sock;
}
我不知道如何才能把它放在容器里,这样它才能正确阅读。我在某处读到它位于/etc/nginx中,但是如何编辑dockerfile以在其中包含此conf

这就是他建议的Dockerfile。文件复制到的行是
addnginx/etc/nginx
?他只是没有给文件一个扩展名

FROM ubuntu:14.04

RUN apt-get update && apt-get install -y build-essential nginx python3.4 python3.4-dev
RUN easy_install3 pip

WORKDIR /project

ADD requirements.txt /project/requirements.txt
RUN pip install -r requirements.txt

ADD . /project

ADD nginx /etc/nginx

CMD uwsgi -s /tmp/uwsgi.sock -w project:app --chown-socket=www-data:www-data --enable-threads & \
    nginx -g 'daemon off;'

是的,他正在将文件
nginx
添加到容器文件系统位置
/etc/nginx/

我个人会将文件命名为
nginx.conf
,因为根据
nginx
文档,这是默认名称

默认情况下,配置文件名为nginx.conf并放置在 目录/usr/local/nginx/conf、/etc/nginx或 /usr/local/etc/nginx

另外,我建议使用
COPY
代替
ADD
,根据

对于不需要添加tar的其他项目(文件、目录) 自动提取功能,您应该始终使用复制

要实现这一点,您需要在运行flask的容器上安装
nginx