場景:現(xiàn)有幾臺服務(wù)器鹰霍,各部署有十幾到數(shù)十個Docker容器辛燥,容器相互之間獨(dú)立沒有關(guān)聯(lián),每個容器各自暴露一個到幾十個端口不等,而且部分容器端口是隨機(jī)的盗胀。
任務(wù):把全部容器綁定到一個域名之下艘蹋。
不廢話,十條命令之內(nèi)解決這件事票灰。
第一步:拉取nginx女阀,這里用的是tutum公司的鏡像宅荤,這個公司的鏡像質(zhì)量都很高。
docker pull tutum/nginx
第二步:根據(jù)Dockerfile開了兩個數(shù)據(jù)卷浸策,方便寫配置以及部署應(yīng)用冯键。
docker run -d -p 80:80 -v /**path**/app/:/app/ -v /**path**/nginx/sites-enabled:/etc/nginx/sites-enabled tutum/nginx
第三步:編輯/**path**/nginx/sites-enabled/default
文件如下:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /app;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
# 上面是默認(rèn)的不用管也可以。
server
{
listen 80;
server_name lab.example.com; # 這里填自定義域名
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://172.17.0.3:8181; # 這里填容器地址庸汗,如果不知道填寫公網(wǎng)IP也是可以的惫确。
}
}
暫時先這樣,端口多變還沒有解決蚯舱,有時間補(bǔ)上改化。