如何在docker上的nginx中设置大规模动态虚拟主机?

时间:2017-08-02 04:08:56

标签: docker nginx docker-compose

如何在nginx As seen here中设置大规模动态虚拟主机 除了使用docker作为主机?

我目前的设置如下:

# default.conf
server {
   root /var/www/html/$http_host;
   server_name $http_host;
 }

在我的Dockerfile中

COPY default.conf /etc/nginx/sites-enabled/default.conf 

在我构建图像并运行它之后:

docker run -d 80:80 -v www/:/var/www/html 

但是当我在我的hosts文件中指向一个新域(example.dev)并创建一个www / example.dev / index.html时。它根本不起作用。

1 个答案:

答案 0 :(得分:2)

设置正确,它在我的系统上测试时起作用。唯一的问题是您正在错误的路径上复制文件。默认情况下,泊坞窗图片不会使用sites-enabled路径。默认配置加载/etc/nginx/conf.d中的所有内容。因此,您需要复制到该路径并将所有工作都放在一边

COPY default.conf /etc/nginx/conf.d/default.conf 

确保正确映射卷。在测试时,我使用下面的docker命令测试它

docker run -p 80:80 -v $PWD/www/:/var/www/html -v $PWD/default.conf:/etc/nginx/conf.d/default.conf nginx

以下是命令行上的输出

vagrant@vagrant:~/test/www$ mkdir dev.tarunlalwani.com
vagrant@vagrant:~/test/www$ cd dev.tarunlalwani.com/
vagrant@vagrant:~/test/www/dev.tarunlalwani.com$ vim index.html
vagrant@vagrant:~/test/www/dev.tarunlalwani.com$ cat index.html
<h1>This is a test</h1>

浏览器输出

Nginx test output