摘要:架構服務器中已存在的是鏡像,可以運行環境以及其他的,包含了等。添加容器新添加一個容器用來做反向代理。推薦使用版本查看鏡像,生成新的容器,。參考資料轉載記一次用運行容器做域名反向代理時踩的坑如何從容器內部獲取主機。
導語
之前介紹 docker 的時候說過它的優勢之一,就是可以在同一服務器中搭建多個環境,互相隔離。昨天就實際操作下,萬萬沒想到如此多的坑,比之前從零開始搭建服務器都費時間。變換了好幾種方案,最終還是解決了,中間的心酸就忽略吧,直接說操作方法。
架構服務器中已存在的是 laradock 鏡像,可以運行 laravel 環境以及其他的 PHP,包含了 nginx、mysql、redis 等。
我的想法是再添加一個 nginx 容器,用來做反向代理。根據子域名進行分發,可以分發給 laradock,也可以給其他任何容器(包括 wordpress、python、java)等等
要修改的只有一個地方,就是 nginx 監聽的端口。
進入到 laradock 目錄中
修改 .env 文件,修改 NGINX_HOST_HTTP_PORT 值由 80 為 8000
停止 nginx, docker-compose stop nginx
重裝 nginx,docker-compose build nginx
啟動 docker-compose up -d nginx
這個時候在瀏覽器中是不能訪問成功的,因為 nginx 已經不再監聽 80 端口。
添加 nginx 容器新添加一個 nginx 容器用來做反向代理。在安裝 laradock 的時候,已經有了 nginx:alpine 的鏡像,可以直接生成容器。當然你也可以重新 pull 一個新的鏡像。(推薦使用 alpine版本)
查看 nginx 鏡像 ID,docker iamges
生成新的 ngixn 容器, docker run --name proxy_nginx -p 80:80 -d [nginx image id]。也可以添加 -v 參數來映射配置文件,我的環境較少變動就不需要了
此時在瀏覽器中訪問,應該是 nginx 的默認頁面,說明啟動成功
進入到生成的容器中 docker exec -it proxy_nginx sh
安裝 vim,apk add vim
查看宿主機 ip,/sbin/ip route|awk "/default/ { print $3 }"
在 /etc/nginx/conf.d/ 目錄下添加新配置文件 laradock.conf,內容如下
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://[宿主機IP]:8000; } }
退出容器,然后重啟 docker restart proxy_nginx
打開 8000 端口,參考這里
結語這個時候訪問的話,就可以代理到 laradock 中的 nginx 了。后續想要新增其他的容器,只要在 proxy_nginx 中添加新的代理規則就可以了。
參考資料:【轉載】記一次用 Docker 運行 Nginx 容器做域名反向代理時踩的坑、如何從容器內部獲取主機IP。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27808.html
摘要:架構服務器中已存在的是鏡像,可以運行環境以及其他的,包含了等。添加容器新添加一個容器用來做反向代理。推薦使用版本查看鏡像,生成新的容器,。參考資料轉載記一次用運行容器做域名反向代理時踩的坑如何從容器內部獲取主機。 導語 之前介紹 docker 的時候說過它的優勢之一,就是可以在同一服務器中搭建多個環境,互相隔離。昨天就實際操作下,萬萬沒想到如此多的坑,比之前從零開始搭建服務器都費時間。...
摘要:一個反向代理可以幫助處理這些問題,同時通過減輕零停機部署的困難來提升可用性。生成反向代理配置文件當一個容器被啟動和停止的時候,設置一個反向代理配置可能是復雜的。這些可以被用于自動地生成一個反向代理配置。 自動化 Nginx 反向代理 Docker 標簽(空格分隔): Docker Nginx Automated 本文作者是 jwilder,原文地址是 Automated N...
摘要:一個反向代理可以幫助處理這些問題,同時通過減輕零停機部署的困難來提升可用性。生成反向代理配置文件當一個容器被啟動和停止的時候,設置一個反向代理配置可能是復雜的。這些可以被用于自動地生成一個反向代理配置。 自動化 Nginx 反向代理 Docker 標簽(空格分隔): Docker Nginx Automated 本文作者是 jwilder,原文地址是 Automated N...
摘要:以及自動剔除因故障負載均衡列表中宕機的服務器。這兩天折騰了一下的安裝配置,并通過模擬出在多服務器提供服務的狀態下的負載均衡。修改好配置文件后,使用重新載入配置。 原文發表于我的博客,轉載請注明出處 一直聽說Nginx的強大,它不僅可以作為Web服務器,按照調度規則實現動態、靜態頁面的分離;還可以作為反向代理服務器,構建服務集群,按輪詢、權重等多種方式對后端服務器做負載均衡。以及自動剔...
閱讀 1585·2021-09-30 09:47
閱讀 3581·2021-09-22 15:05
閱讀 2829·2021-08-30 09:44
閱讀 3617·2019-08-30 15:55
閱讀 1365·2019-08-30 13:08
閱讀 1322·2019-08-29 16:40
閱讀 544·2019-08-29 12:45
閱讀 1379·2019-08-29 11:25