Docker 實踐 06 搭建基於Nginx+Tomcat的分佈式部署架構

鏡像下載

# docker pull nginx

# docker pull tomcat

Tomcat安裝和配置

tomcatA容器

1、 啓動:

# docker run –it --name tomcatA -v /warA/:/usr/local/war tomcat  /bin/bash

2、 將已經準備好的index.html文件上傳至宿主機/warA文件夾中,文件如下:。

3、 修改tomcat啓動頁面:

# cd webapps

# cd ROOT

# cp /usr/local/war/index.html/usr/local/tomcat/webapps/ROOT/index.html

4、 啓動tomcat:

# sh /usr/local/tomcat/bin/startup.sh

5、安全退出容器:Ctrl+P+Q 。

tomcatB容器

1、 啓動:

# docker run –it --name tomcatB -v /warB/:/usr/local/war tomcat  /bin/bash

2、 將已經準備好的index.html文件上傳至宿主機/warB文件夾中,文件如下:。

3、 修改tomcat啓動頁面:

# cd webapps

# cd ROOT

# cp /usr/local/war/index.html/usr/local/tomcat/webapps/ROOT/index.html

 

4、 啓動tomcat:

# sh /usr/local/tomcat/bin/startup.sh

5、安全退出容器:Ctrl+P+Q 。

Nginx安裝和配置

在本地掛接一個nginx.conf

# docker run --name tmp-nginx -d nginx

# docker cp tmp-nginx:/etc/nginx/nginx.conf/host/path/nginx.conf

# docker rm -f tmp-nginx

配置nginx.conf

查看tomca容器IP地址

# docker inspect --format '{{.NetworkSettings.IPAddress }}' tomcatA 

# docker inspect --format '{{.NetworkSettings.IPAddress }}' tomcatB

配置1

upstream webPoject {

        server 172.18.0.2:8080;

        server 172.18.0.3:8080;

}

配置2

server {

       listen      80;

       server_name  localhost;

       charset utf-8;

                  

       location / {

           root   html;

           index  index.html index.htm;

           add_header Cache-Control 'no-store';

           client_max_body_size 100m;

           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_cache_valid 200 1m;

           proxy_pass http://webPoject;

       }

       error_page   500 502 503 504  /50x.html;

       location = /50x.html {

           root   html;

       }

}

可參考:

啓動一個nginx

docker run --name mynginx  -p 9999:80 -v/host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx


訪問測試


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章