国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

使用Nginx實現服務器中多容器共存的方法

2024-08-30 12:24:47
字體:
來源:轉載
供稿:網友

背景

有一臺騰訊的Linux云主機,在服務器上部署了一個docker(稱為ServiceDocker,名稱為sign,下同),ServiceDocker內部使用了80、443、3306端口,分別映射到宿主機(云主機)的相同端口(即80、443、3306)。

ServiceDocker中安裝了XAMPP,在此基礎上部署了掃碼簽到小程序的服務器。ServiceDocker的80和443端口分別提供http和https服務,3306為MySQL數據庫的端口。

ServiceDocker綁定了域名sign.famend.cn。

目標

云主機中的一個ServiceDocker占用了80、443端口,如果想在主機中再部署一臺服務器對外服務,就不能使用80和443端口了。

我們的目標是在主機中可以部署多個ServiceDocker,每個ServiceDocker綁定各自的域名,對外提供服務,保證80和443端口可用。

思路

修改ServiceDocker的端口映射,把ServiceDocker端口80、443分別映射到主機的89、449端口,這樣主機的80、443端口釋放出來了。

釋放出來的80和443端口供Nginx使用。安裝帶Nginx的docker(稱為NginxDocker,名稱為mynginx,下同)。NginxDocker內部使用端口80、443,分別映射到主機的80和443端口。

NginxDocker用來做反向代理。當有訪問請求時,讀取Nginx配置后,不同的URL定向到各自對應的Docker。例如:訪問http://sign.famend.cn:80,則自動映射到http://sign.famend.cn:89。

實現步驟

1. 修改ServiceDocker的端口映射,釋放80和443端口。

Docker沒有提供命令修改端口,從網上我找到了2種方法。

方法1:先停止容器,再將容器打包成鏡像,接著運行新的鏡像。在運行新的鏡像時指定新的端口。使用的命令如下:

#先停止容器 docker stop containerA #將容器commit成為一個鏡像 docker commit containerA newImageB #運行容器 docker run -p 8080:8080 -p 8081:8081 -v /home/data/:/home/data/ -dt newImageB 

方法2:先停止容器,接著停止容器服務,然后修改容器配置文件,最后啟動容器服務、啟動容器。步驟如下:

①停止ServiceDocker(ServiceDocker的名稱為sign),停止docker服務。

sudo docker stop sign sudo service docker stop 

②使用 docker ps -a 命令找到要修改容器的 CONTAINER ID。

③運行 docker inspect 【CONTAINER ID】 | grep Id 命令。

④執行 cd /var/lib/docker/containers 命令令進入找到與 Id 相同的目錄。

在執行cd 命令時如果提示permission denied,可以先執行 sudo -s。

進入id對應的目錄后,打開文件hostconfig.json。

找到80端口的映射,如下:

"80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "80" }]  把 "HostPort": "80" 修改成 "HostPort": "89" , 如下 "80/tcp": [ { "HostIp": "0.0.0.0", "HostPort": "89" }]

修改之前,ServiceDocker內部的80端口映射為主機的80端口;修改之后,ServiceDocker內部的80端口映射為主機的89端口。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 于田县| 焉耆| 七台河市| 五常市| 成武县| 盐津县| 青神县| 天水市| 延边| 阳曲县| 会泽县| 湖北省| 大方县| 邻水| 徐汇区| 托克逊县| 关岭| 桃江县| 海林市| 蓝山县| 彭水| 伊金霍洛旗| 揭西县| 卓尼县| 岗巴县| 海丰县| 西青区| 筠连县| 元氏县| 鸡西市| 肇东市| 石泉县| 安陆市| 韶山市| 北安市| 万载县| 宁阳县| 卫辉市| 望城县| 河津市| 安宁市|