2017-08-02 134 views
2

除了使用docker作爲主機之外,如何在nginx As seen here 中設置大容量動態虛擬主機?如何在docker上的nginx中設置大容量動態虛擬主機?

我現在有它的設置是這樣的:

# 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 

但是,當我在我的主機文件中指向一個新域(example.dev)並製作一個www/example.dev/index.html。它根本不起作用。

+0

什麼是你的問題?也是nginx加載配置?你能瀏覽默認網站嗎? –

+0

@TarunLalwani是它的被加載,但我不是該領域被重定向到碼頭 – isethi

+0

檢查最新的答案,看看它是否適合你。 –

回答

2

該設置是正確的,它在我的系統上測試過。唯一的問題是您在錯誤的路徑上覆制文件。 docker映像默認不使用sites-enabled路徑。默認配置會加載存在於/etc/nginx/conf.d中的所有內容。所以,你需要複製到該路徑和休息偉大

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

所有作品請務必您正確映射卷。雖然測試我測試了使用以下命令泊塢窗

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

下面是命令行輸出

[email protected]:~/test/www$ mkdir dev.tarunlalwani.com 
[email protected]:~/test/www$ cd dev.tarunlalwani.com/ 
[email protected]:~/test/www/dev.tarunlalwani.com$ vim index.html 
[email protected]:~/test/www/dev.tarunlalwani.com$ cat index.html 
<h1>This is a test</h1> 

輸出上的瀏覽器

Nginx test output

+0

這不會更改Web根目錄。一切仍然被定向到html/index.php而不是html/example.com/index.php – isethi

+0

檢查更新後的答案,看看你做錯了什麼 –