文章詳情頁
Nginx代理Partainer的實現
瀏覽:140日期:2023-03-13 15:37:15
目錄
- 1. 啟動nginx
- 2. 啟動portainer
- 3. 創建網絡
主要目的用于通過nginx可以代理 Partainer服務,通過nginx進行統一轉發
1. 啟動nginx
啟動nginx,掛載整個nginx的配置路徑,具體的nginx配置可以百度
docker run -p 80:80 -name nginx --restart=always -v nginx/:/etc/nginx -d nginx
修改配置路徑下面的 conf.d/default.conf
upstream docker { // portainer 容器的名稱,如果不配置這個 nginx會 no resolver defined to resolve portainer 的問題 server portainer:9000;}server { //追加下面的路徑,一定要使用正則進行匹配,因為portainer訪問時的重定向路徑會是 /docker/api/xxx/xxx 的路徑,所以,如果出現重定向的地址也需要進行匹配 location ~ "^/docker(/?.*)" {proxy_pass http://docker$1$is_args$args;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}
2. 啟動portainer
這里只需要開啟 9000端口,只需要掛載宿主機中的docker文件到虛擬機中即可,掛載的數據卷可以百度
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
3. 創建網絡
如果需要容器之間通過容器名稱就可以進行訪問,那么需要讓容器在同一個網絡當中,下面就是創建一個網絡使用 bridge 具體網絡類型區別也可以百度詳細
docker network create -d bridge nginx_network #創建網絡
將啟動的容器連接到網絡中,然后重啟兩個容器
docker network connect nginx_network portainerdocker network connect nginx_network nginx
可以進入 nginx容器中,通過 curl portainer:9000 查看能否請求到;訪問頁面
到此這篇關于Nginx代理Partainer的實現的文章就介紹到這了,更多相關Nginx代理Partainer內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
標簽:
Nginx
排行榜