Docker部署Nginx并配置反向代理
準(zhǔn)備工作
在docker內(nèi)部署任何應(yīng)用,都需要先下載對(duì)應(yīng)的鏡像;下載鏡像之前,需要先搜索鏡像來(lái)確認(rèn)該鏡像是否存在:
docker search nginx

從列表可以看到,docker已經(jīng)有了nginx的鏡像,名稱是“nginx”,接下來(lái)下載鏡像:
docker pull nginx
下載完成后,查看一下本地鏡像:

如果在列表中看到nginx,鏡像下載就已經(jīng)成功了。
容器設(shè)置
在docker中,真正運(yùn)行的是容器,鏡像在我理解中是一種環(huán)境。我們?cè)谥付ǖ溺R像中運(yùn)行某個(gè)容器,然后編輯和配置這個(gè)容器,從而達(dá)到想要的效果。使用以下命令運(yùn)行一個(gè)nginx容器:
docker run -d -it -p 80:80 --name nginx01 nginx

解釋一下
- -d:代表后臺(tái)運(yùn)行,并返回容器的ID;
- -it:是一個(gè)組合命令,可以使容器在運(yùn)行時(shí)不會(huì)阻塞當(dāng)前操作界面。(另一種寫法是 -i -t );
- -p 80:80:將宿主機(jī)上的端口映射到容器端口;
- --name nginx01:自定義容器名稱為nginx01;
最后的nginx:鏡像的名稱。
這行命令的結(jié)果是在nginx鏡像中運(yùn)行了一個(gè)名為nginx01的容器。接下來(lái)看一下容器有沒(méi)有正常運(yùn)行:

看到STATUS那一欄是Up開(kāi)頭就代表啟動(dòng)成功了。因?yàn)樯弦徊讲僮饕呀?jīng)做好了端口映射,所以我們可以本地訪問(wèn)nginx。訪問(wèn)127.0.0.1:

看到了nginx的默認(rèn)頁(yè)面,表示docker下的nginx已經(jīng)成功跑起來(lái)了。
Docker下Nginx的反向代理
如果想讓網(wǎng)站通過(guò)域名訪問(wèn),那就需要nginx反向代理。設(shè)置的方法很簡(jiǎn)單,首先進(jìn)入剛才的nginx01容器:
docker exec -it nginx01 bash

nginx反向代理通過(guò)修改配置文件即可完成,目錄是etc/nginx/conf.d:

目錄下的default.conf是一個(gè)默認(rèn)的配置模板,按照里面的規(guī)則進(jìn)行自己的配置即可:

修改完成后重啟容器生效。如果是linux系統(tǒng),可以直接vi來(lái)修改文件內(nèi)容以完成配置,如果想在win系統(tǒng)完成nginx的反向代理,可以下載cmd可用的vim編輯器,也可以設(shè)置資料卷來(lái)解決,后面幾篇文章會(huì)詳述資料卷。
到此這篇關(guān)于Docker部署Nginx并配置反向代理的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
綁定Dokcer容器到主機(jī)指定網(wǎng)卡的方法
這篇文章主要介紹了綁定 Dokcer 容器到主機(jī)指定網(wǎng)卡的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
Docker部署Nginx反向代理的坑與解決方案實(shí)戰(zhàn)記錄
這篇文章主要介紹了Docker部署Nginx反向代理的坑與解決方案的相關(guān)資料,通過(guò)本文的介紹,你可以掌握如何在Docker中部署Nginx作為反向代理,并解決了常見(jiàn)的報(bào)錯(cuò)問(wèn)題,需要的朋友可以參考下2025-03-03
docker中的run/cmd/entrypoint的區(qū)別詳解
Dockerfile中run、cmd和entrypoint都能夠用于執(zhí)行命令,針對(duì)每個(gè)命令給他介紹詳細(xì)用途,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08
半小時(shí)實(shí)現(xiàn)基于ChatGPT搭建微信機(jī)器人
這篇文章主要為大家介紹了基于ChatGPT搭建微信機(jī)器人過(guò)程示例詳解,半小時(shí)就能完成,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
No route to host兩個(gè)docker容器的服務(wù)訪問(wèn)不通的解決
在CentOS服務(wù)器上使用Docker容器時(shí),當(dāng)容器之間的服務(wù)調(diào)用出現(xiàn)“Failed to establish a new connection: [Errno 113] No route to host”錯(cuò)誤,是因?yàn)槿萜鞯膱?bào)文源地址被防火墻攔截,解決方法有兩種:在防火墻上開(kāi)放指定端口或關(guān)閉防火墻2025-02-02
docker實(shí)現(xiàn)將本地文件復(fù)制到docker容器內(nèi)
這篇文章主要介紹了docker實(shí)現(xiàn)將本地文件復(fù)制到docker容器內(nèi)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
Docker容器日志占用空間過(guò)大問(wèn)題及解決
這篇文章主要介紹了Docker容器日志占用空間過(guò)大問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
Docker安裝部署neo4j的實(shí)戰(zhàn)過(guò)程
Docker是一種容器化技術(shù),可以在Linux系統(tǒng)上部署應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于Docker安裝部署neo4j的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05

