摘要:架構(gòu)服務(wù)器中已存在的是鏡像,可以運(yùn)行環(huán)境以及其他的,包含了等。添加容器新添加一個(gè)容器用來做反向代理。推薦使用版本查看鏡像,生成新的容器,。參考資料轉(zhuǎn)載記一次用運(yùn)行容器做域名反向代理時(shí)踩的坑如何從容器內(nèi)部獲取主機(jī)。
導(dǎo)語
之前介紹 docker 的時(shí)候說過它的優(yōu)勢之一,就是可以在同一服務(wù)器中搭建多個(gè)環(huán)境,互相隔離。昨天就實(shí)際操作下,萬萬沒想到如此多的坑,比之前從零開始搭建服務(wù)器都費(fèi)時(shí)間。變換了好幾種方案,最終還是解決了,中間的心酸就忽略吧,直接說操作方法。
架構(gòu)服務(wù)器中已存在的是 laradock 鏡像,可以運(yùn)行 laravel 環(huán)境以及其他的 PHP,包含了 nginx、mysql、redis 等。
我的想法是再添加一個(gè) nginx 容器,用來做反向代理。根據(jù)子域名進(jìn)行分發(fā),可以分發(fā)給 laradock,也可以給其他任何容器(包括 wordpress、python、java)等等
要修改的只有一個(gè)地方,就是 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
這個(gè)時(shí)候在瀏覽器中是不能訪問成功的,因?yàn)?nginx 已經(jīng)不再監(jiān)聽 80 端口。
添加 nginx 容器新添加一個(gè) nginx 容器用來做反向代理。在安裝 laradock 的時(shí)候,已經(jīng)有了 nginx:alpine 的鏡像,可以直接生成容器。當(dāng)然你也可以重新 pull 一個(gè)新的鏡像。(推薦使用 alpine版本)
查看 nginx 鏡像 ID,docker iamges
生成新的 ngixn 容器, docker run --name proxy_nginx -p 80:80 -d [nginx image id]。也可以添加 -v 參數(shù)來映射配置文件,我的環(huán)境較少變動就不需要了
此時(shí)在瀏覽器中訪問,應(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é)語這個(gè)時(shí)候訪問的話,就可以代理到 laradock 中的 nginx 了。后續(xù)想要新增其他的容器,只要在 proxy_nginx 中添加新的代理規(guī)則就可以了。
參考資料:【轉(zhuǎn)載】記一次用 Docker 運(yùn)行 Nginx 容器做域名反向代理時(shí)踩的坑、如何從容器內(nèi)部獲取主機(jī)IP。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/40595.html
摘要:架構(gòu)服務(wù)器中已存在的是鏡像,可以運(yùn)行環(huán)境以及其他的,包含了等。添加容器新添加一個(gè)容器用來做反向代理。推薦使用版本查看鏡像,生成新的容器,。參考資料轉(zhuǎn)載記一次用運(yùn)行容器做域名反向代理時(shí)踩的坑如何從容器內(nèi)部獲取主機(jī)。 導(dǎo)語 之前介紹 docker 的時(shí)候說過它的優(yōu)勢之一,就是可以在同一服務(wù)器中搭建多個(gè)環(huán)境,互相隔離。昨天就實(shí)際操作下,萬萬沒想到如此多的坑,比之前從零開始搭建服務(wù)器都費(fèi)時(shí)間。...
摘要:一個(gè)反向代理可以幫助處理這些問題,同時(shí)通過減輕零停機(jī)部署的困難來提升可用性。生成反向代理配置文件當(dāng)一個(gè)容器被啟動和停止的時(shí)候,設(shè)置一個(gè)反向代理配置可能是復(fù)雜的。這些可以被用于自動地生成一個(gè)反向代理配置。 自動化 Nginx 反向代理 Docker 標(biāo)簽(空格分隔): Docker Nginx Automated 本文作者是 jwilder,原文地址是 Automated N...
摘要:一個(gè)反向代理可以幫助處理這些問題,同時(shí)通過減輕零停機(jī)部署的困難來提升可用性。生成反向代理配置文件當(dāng)一個(gè)容器被啟動和停止的時(shí)候,設(shè)置一個(gè)反向代理配置可能是復(fù)雜的。這些可以被用于自動地生成一個(gè)反向代理配置。 自動化 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ī)則實(shí)現(xiàn)動態(tài)、靜態(tài)頁面的分離;還可以作為反向代理服務(wù)器,構(gòu)建服務(wù)集群,按輪詢、權(quán)重等多種方式對后端服務(wù)器做負(fù)載均衡。以及自動剔...
閱讀 901·2021-10-13 09:39
閱讀 1486·2021-10-11 10:57
閱讀 2598·2019-08-26 13:53
閱讀 2544·2019-08-26 12:23
閱讀 3696·2019-08-23 18:30
閱讀 3755·2019-08-23 18:08
閱讀 2528·2019-08-23 18:04
閱讀 2964·2019-08-23 16:28