寫在前面的話:如今docker這麼火,咱們也來研究下。html
準備工做:主機安裝好了docker,nginx,同時鏡像nginx也是pull了。nginx
開始工做,先把nginx配置好,例如web
server { listen 80; root /home/ubuntu/www; index index.html index.htm; server_name hhh.com; }
server { listen 80; server_name hhh1.com; location / { proxy_pass ; } }
server { listen 80; server_name hhh2.com; location / { proxy_pass ; } }
server { listen 80; server_name hhh3.com; location / { proxy_pass ; } }
hhh.com;是直接能夠在80端口訪問就很少說了。docker
至於hhh1.com;hhh2.com;hhh3.com;分別配置給50001,50002,50003.shell
到這裏先讓主機的nginx服務跑起來吧。
---------------------------------------------------ubuntu
找個放www的目錄,依次建立hhh1,hhh2,hhh3,目錄。app
只說明一個,hhh2的例子;webapp
如今進到hhh2的目錄:測試
建立目錄三個logs(做用放日誌);www(網站的文件);config(nginx配置文件,鏡像要用的);網站
在config下建立配置文件,任意名字,簡單配置信息;
server { listen 80; root /usr/share/nginx/html; index index.html index.htm; server_name hhh2.com; }
保存好,重點配置解說:listen 80 ,監聽80端口,與下面命令對應的。
root /usr/share/nginx/html;這個是這個鏡像中的一個目錄,目前我也就知道有這個目錄,也不要改了;
server_name hhh2.com;這就是上面說過的域名;
重點就這麼多;網站文件放好就好了,作了靜態html的測試,有空深刻測試;
docker run -it -p 50002:80 -v `pwd`/www:/usr/share/nginx/html -v `pwd`/config:/etc/nginx/sites-enabled -v `pwd`/logs:/var/log/nginx -d daocloud.io/nginx
這命令簡單說說參數:run(主要);-it(這是兩個參數,具體百度,我給忘了), -p端口映射 主機端口:容器端口; -v(目錄映射,·pwd·/www這是當前操做的文件下的www目錄映射:/usr/share/nginx/html這就是咱們在以前的配置文件中的root,目錄, 同理就知道咱們映射了配置文件夾,和日誌文件夾,這樣你就能很方便看日誌),-d(後臺運行?) 最後是鏡像名;推薦下挺好用的。國內的。到這裏你就啓動了一個nginx服務,當靜態的web先用吧;
同理配置其餘的;這時候訪問hhh.com 是主機的webapp,hhhx.com 是對應不一樣目錄,你們的項目就不會衝突,賦予不一樣的權限就行了。