在同一個服務器上使用 Docker 部署 Nginx 負載均衡

為了學習 Docker 相關的知識,本人學習在一臺宿主機上使用 Docker 創(chuàng)建多個 Nginx 容器飞主,然后實現(xiàn)負載均衡逆屡。主要目的是為了記錄實現(xiàn)的過程,也方便其他讀者參考与涡。

1. 安裝 Docker

我的博客上有安裝 Docker 的文章惹谐,這里就不重復編寫了,傳送門驼卖。

2. 拉取鏡像

docker pull nginx

3. 啟動容器

docker run --name nginx -d nginx

查看是否啟動成功

docker ps

從容器內復制 Nginx 配置文件

docker cp nginx:/etc/nginx/conf.d/default.conf ~/nginx/default.conf

我在home目錄創(chuàng)建三個文件夾來存儲 Nginx 的配置文件和應用文件氨肌,分貝是 master,server1酌畜,server2怎囚。master 對應負載均衡服務器,server1檩奠,server2 對應兩個應用服務器桩了。default.conf 為 Nginx 的配置文件,index.html 為 Nginx 容器的應用文件埠戳,也就是瀏覽器訪問時顯示的文件井誉,分貝寫入master,server1,server2,來區(qū)分不同的容器應用.


啟動這3個容器

# master
docker run --name master -p 81:80 --restart=always --privileged=true \
-v ~/nginx/master/conf:/etc/nginx/conf.d \
-v ~/nginx/master/html:/usr/share/nginx/html \
-d nginx

# server1
docker run --name server1 -p 82:80 --restart=always --privileged=true \
-v ~/nginx/server1/conf:/etc/nginx/conf.d \
-v ~/nginx/server1/html:/usr/share/nginx/html \
-d nginx

# server2
docker run --name server2 -p 83:80 --restart=always --privileged=true \
-v ~/nginx/server2/conf:/etc/nginx/conf.d \
-v ~/nginx/server2/html:/usr/share/nginx/html \
-d nginx

查看是否啟動成功

使用瀏覽器訪問 127.0.0.1:81,127.0.0.1:82,127.0.0.1:83整胃,測試是否能夠正常訪問.

4. 配置負載均衡

更詳細的可以查看我的博文颗圣,傳送門,編輯 master 下的default.conf 文件內容:

upstream balance {
    server server1容器ip地址:80 weight=1;
    server server2容器ip地址:80 weight=2;
}

server {
    listen       80;
    server_name  localhost;

    location / {
        add_header X-Content-Type-Options nosniff;
        proxy_set_header X-scheme $scheme;
        #作用是我們可以獲取到客戶端的真實ip
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Nginx-Proxy true;
        proxy_hide_header X-Powered-By;
        proxy_hide_header Vary;

        #重點是這里屁使,將代理轉發(fā)給上方 upstream 中配置的兩臺服務器去處理在岂,這里的 http:// 后的值必須和 upstream 后面的值一致
        proxy_pass http://balance;

    }
}

獲取容器的 ip 地址:

docker inspect 容器名稱

重啟 master 容器

docker restart master

使用瀏覽器訪問 127.0.0.1:81 ,正常情況下會出現(xiàn)server1蛮寂,server2字符蔽午,并且 server2 出現(xiàn)的次數(shù)是 server1 的兩倍。

End!

文章同步發(fā)布在我的個人博客中酬蹋,傳送門Hesunfly Blog

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末及老,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子范抓,更是在濱河造成了極大的恐慌骄恶,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匕垫,死亡現(xiàn)場離奇詭異僧鲁,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門寞秃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來斟叼,“玉大人,你說我怎么就攤上這事春寿±绻瘢” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵堂淡,是天一觀的道長馋缅。 經常有香客問我,道長绢淀,這世上最難降的妖魔是什么萤悴? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮皆的,結果婚禮上覆履,老公的妹妹穿的比我還像新娘。我一直安慰自己费薄,他們只是感情好硝全,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著楞抡,像睡著了一般伟众。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上召廷,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天凳厢,我揣著相機與錄音,去河邊找鬼竞慢。 笑死先紫,一個胖子當著我的面吹牛,可吹牛的內容都是我干的筹煮。 我是一名探鬼主播遮精,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼败潦!你這毒婦竟也來了本冲?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤变屁,失蹤者是張志新(化名)和其女友劉穎眼俊,沒想到半個月后意狠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粟关,經...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了闷板。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片澎灸。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖遮晚,靈堂內的尸體忽然破棺而出性昭,到底是詐尸還是另有隱情,我是刑警寧澤县遣,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布糜颠,位于F島的核電站,受9級特大地震影響萧求,放射性物質發(fā)生泄漏其兴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一夸政、第九天 我趴在偏房一處隱蔽的房頂上張望元旬。 院中可真熱鬧,春花似錦守问、人聲如沸匀归。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽穆端。三九已至,卻和暖如春仿便,著一層夾襖步出監(jiān)牢的瞬間徙赢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工探越, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狡赐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓钦幔,卻偏偏與公主長得像枕屉,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鲤氢,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348