摘要:架構(gòu)服務(wù)器中已存在的是鏡像,可以運(yùn)行環(huán)境以及其他的,包含了等。添加容器新添加一個容器用來做反向代理。推薦使用版本查看鏡像,生成新的容器,。參考資料轉(zhuǎn)載記一次用運(yùn)行容器做域名反向代理時踩的坑如何從容器內(nèi)部獲取主機(jī)。
導(dǎo)語
之前介紹 docker 的時候說過它的優(yōu)勢之一,就是可以在同一服務(wù)器中搭建多個環(huán)境,互相隔離。昨天就實際操作下,萬萬沒想到如此多的坑,比之前從零開始搭建服務(wù)器都費(fèi)時間。變換了好幾種方案,最終還是解決了,中間的心酸就忽略吧,直接說操作方法。
架構(gòu)服務(wù)器中已存在的是 laradock 鏡像,可以運(yùn)行 laravel 環(huán)境以及其他的 PHP,包含了 nginx、mysql、redis 等。
我的想法是再添加一個 nginx 容器,用來做反向代理。根據(jù)子域名進(jìn)行分發(fā),可以分發(fā)給 laradock,也可以給其他任何容器(包括 wordpress、python、java)等等
要修改的只有一個地方,就是 nginx 監(jiān)聽的端口。
進(jìn)入到 laradock 目錄中
修改 .env 文件,修改 NGINX_HOST_HTTP_PORT 值由 80 為 8000
停止 nginx, docker-compose stop nginx
重裝 nginx,docker-compose build nginx
啟動 docker-compose up -d nginx
這個時候在瀏覽器中是不能訪問成功的,因為 nginx 已經(jīng)不再監(jiān)聽 80 端口。
添加 nginx 容器新添加一個 nginx 容器用來做反向代理。在安裝 laradock 的時候,已經(jīng)有了 nginx:alpine 的鏡像,可以直接生成容器。當(dāng)然你也可以重新 pull 一個新的鏡像。(推薦使用 alpine版本)
查看 nginx 鏡像 ID,docker iamges
生成新的 ngixn 容器, docker run --name proxy_nginx -p 80:80 -d [nginx image id]。也可以添加 -v 參數(shù)來映射配置文件,我的環(huán)境較少變動就不需要了
此時在瀏覽器中訪問,應(yīng)該是 nginx 的默認(rèn)頁面,說明啟動成功
進(jìn)入到生成的容器中 docker exec -it proxy_nginx sh
安裝 vim,apk add vim
查看宿主機(jī) ip,/sbin/ip route|awk "/default/ { print $3 }"
在 /etc/nginx/conf.d/ 目錄下添加新配置文件 laradock.conf,內(nèi)容如下
server { listen 80; server_name you_site; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://[宿主機(jī)IP]:8000; } }
退出容器,然后重啟 docker restart proxy_nginx
打開 8000 端口,參考這里
結(jié)語這個時候訪問的話,就可以代理到 laradock 中的 nginx 了。后續(xù)想要新增其他的容器,只要在 proxy_nginx 中添加新的代理規(guī)則就可以了。
參考資料:【轉(zhuǎn)載】記一次用 Docker 運(yùn)行 Nginx 容器做域名反向代理時踩的坑、如何從容器內(nèi)部獲取主機(jī)IP。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/40595.html
摘要:架構(gòu)服務(wù)器中已存在的是鏡像,可以運(yùn)行環(huán)境以及其他的,包含了等。添加容器新添加一個容器用來做反向代理。推薦使用版本查看鏡像,生成新的容器,。參考資料轉(zhuǎn)載記一次用運(yùn)行容器做域名反向代理時踩的坑如何從容器內(nèi)部獲取主機(jī)。 導(dǎo)語 之前介紹 docker 的時候說過它的優(yōu)勢之一,就是可以在同一服務(wù)器中搭建多個環(huán)境,互相隔離。昨天就實際操作下,萬萬沒想到如此多的坑,比之前從零開始搭建服務(wù)器都費(fèi)時間。...
摘要:一個反向代理可以幫助處理這些問題,同時通過減輕零停機(jī)部署的困難來提升可用性。生成反向代理配置文件當(dāng)一個容器被啟動和停止的時候,設(shè)置一個反向代理配置可能是復(fù)雜的。這些可以被用于自動地生成一個反向代理配置。 自動化 Nginx 反向代理 Docker 標(biāo)簽(空格分隔): Docker Nginx Automated 本文作者是 jwilder,原文地址是 Automated N...
摘要:一個反向代理可以幫助處理這些問題,同時通過減輕零停機(jī)部署的困難來提升可用性。生成反向代理配置文件當(dāng)一個容器被啟動和停止的時候,設(shè)置一個反向代理配置可能是復(fù)雜的。這些可以被用于自動地生成一個反向代理配置。 自動化 Nginx 反向代理 Docker 標(biāo)簽(空格分隔): Docker Nginx Automated 本文作者是 jwilder,原文地址是 Automated N...
摘要:以及自動剔除因故障負(fù)載均衡列表中宕機(jī)的服務(wù)器。這兩天折騰了一下的安裝配置,并通過模擬出在多服務(wù)器提供服務(wù)的狀態(tài)下的負(fù)載均衡。修改好配置文件后,使用重新載入配置。 原文發(fā)表于我的博客,轉(zhuǎn)載請注明出處 一直聽說Nginx的強(qiáng)大,它不僅可以作為Web服務(wù)器,按照調(diào)度規(guī)則實現(xiàn)動態(tài)、靜態(tài)頁面的分離;還可以作為反向代理服務(wù)器,構(gòu)建服務(wù)集群,按輪詢、權(quán)重等多種方式對后端服務(wù)器做負(fù)載均衡。以及自動剔...
閱讀 959·2021-10-13 09:39
閱讀 1568·2021-10-11 10:57
閱讀 2661·2019-08-26 13:53
閱讀 2638·2019-08-26 12:23
閱讀 3765·2019-08-23 18:30
閱讀 3826·2019-08-23 18:08
閱讀 2589·2019-08-23 18:04
閱讀 3015·2019-08-23 16:28