主要目的用于通過(guò)nginx可以代理 partainer服務(wù),通過(guò)nginx進(jìn)行統(tǒng)一轉(zhuǎn)發(fā)
1. 啟動(dòng)nginx
啟動(dòng)nginx,掛載整個(gè)nginx的配置路徑,具體的nginx配置可以百度
docker?run?-p?80:80?-name?nginx?--restart=always?-v?nginx/:/etc/nginx?-d?nginx
修改配置路徑下面的 conf.d/default.conf
upstream?docker?{ //?portainer?容器的名稱,如果不配置這個(gè)?nginx會(huì)?no?resolver?defined?to?resolve?portainer?的問題 ????server?portainer:9000; } server?{ //追加下面的路徑,一定要使用正則進(jìn)行匹配,因?yàn)閜ortainer訪問時(shí)的重定向路徑會(huì)是?/docker/api/xxx/xxx?的路徑,所以,如果出現(xiàn)重定向的地址也需要進(jìn)行匹配 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. 啟動(dòng)portainer
這里只需要開啟 9000端口,只需要掛載宿主機(jī)中的docker文件到虛擬機(jī)中即可,掛載的數(shù)據(jù)卷可以百度
docker?run?-d?-p?9000:9000?--name=portainer?--restart=always?-v?/var/run/docker.sock:/var/run/docker.sock?portainer/portainer
3. 創(chuàng)建網(wǎng)絡(luò)
如果需要容器之間通過(guò)容器名稱就可以進(jìn)行訪問,那么需要讓容器在同一個(gè)網(wǎng)絡(luò)當(dāng)中,下面就是創(chuàng)建一個(gè)網(wǎng)絡(luò)使用 bridge 具體網(wǎng)絡(luò)類型區(qū)別也可以百度詳細(xì)
docker?network?create?-d?bridge?nginx_network?#創(chuàng)建網(wǎng)絡(luò)
將啟動(dòng)的容器連接到網(wǎng)絡(luò)中,然后重啟兩個(gè)容器
docker?network?connect?nginx_network?portainer docker?network?connect?nginx_network?nginx
可以進(jìn)入 nginx容器中,通過(guò) cURL portainer:9000 查看能否請(qǐng)求到;訪問頁(yè)面
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END