您的位置:首页 > 运维架构 > Docker

Docker 实践 06 搭建基于Nginx+Tomcat的分布式部署架构

2018-03-14 09:31 846 查看

镜像下载

# docker pull nginx# docker pull tomcat

Tomcat安装和配置

tomcatA容器

1、 启动:# docker run –it --name tomcatA -v /warA/:/usr/local/war tomcat  /bin/bash2、 将已经准备好的index.html文件上传至宿主机/warA文件夹中,文件如下:。3、 修改tomcat启动页面:# cd webapps# cd ROOT# cp /usr/local/war/index.html/usr/local/tomcat/webapps/ROOT/index.html4、 启动tomcat:# sh /usr/local/tomcat/bin/startup.sh5、安全退出容器:Ctrl+P+Q 。

tomcatB容器

1、 启动:# docker run –it --name tomcatB -v /warB/:/usr/local/war tomcat  /bin/bash2、 将已经准备好的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.sh5、安全退出容器: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

访问测试

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息