docker-compose发布nginx和tomcat,实现nginx均衡tomcat,访问nginx即访问tomcat

一、docker-compose概念:

命令“docker run”用来创建和启动一个容器,即管理单个容器,如果有多个相关联的应用容器,则需要依次分别部署。docker-compose可以用来创建启动一组相关联应用容器。它允许用户在一个模版(YAML格式文件,默认配置文件为:docker-compose.yml)中定义好一组相关联的应用容器,。一般我们把这一组应用容器称为一个项目(Project)。通过docker-compose命令来完成这个Project。

因此,docker-compose会把所管理的容器分为三层:工程(project),服务(service),容器(container)。docker-compose.yml中定义了多个依赖关系统的service和container。用户只需要编写docker-compose.yml即可。

最后,docker-compose是docker官方的应用工具

二、docker-compose安装

[root@localhost ~]#  curl -L https://github.com/docker/compose/releases/download/1.18.0/run.sh > /usr/local/bin/docker-compose

[root@localhost ~]# chmod +x /usr/local/bin/docker-compose

[root@localhost ~]# docker-compose --version              
docker-compose version 1.18.0, build 8dd22a9
[root@localhost ~]#

三、实现:

1、构建nginx和tomcat容器

2、nginx和tomcat发布目录映射

3、nginx均衡tomcat

4、通过浏览器访问nginx,即可访问tomcat

  • 主要是编写docker-composer.yml文件,内容如下:
services:
  tomcat01:
    container_name: tomcat01
    image: tomcat:latest
    restart: always
    ports:
      - 8080
  tomcat02:
    container_name: tomcat02
    image: tomcat:latest
    restart: always
    ports:
      - 8080
  nginx:
    container_name: www-nginx
    image: nginx:latest
    restart: always
    ports:
        - 80:80
    volumes:
        - /data/webapps/www/:/usr/share/nginx/html/
        - ./default.conf:/etc/nginx/conf.d/default.conf
    links:
        - tomcat01
        - tomcat02
  • 配置nginx配置文件,增加upstream,实现均衡两台tomcat
[root@localhost www]# sed -e '/^$/d' -e '/#/d'  default.conf  
upstream tomcat_web {
   server tomcat01:8080  weight=100 max_fails=2 fail_timeout=15;
   server tomcat02:8080  weight=100 max_fails=2 fail_timeout=15;
}
server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass http://tomcat_web;
        proxy_set_header host $host;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}
[root@localhost www]# 
  • 用docker-compose依据yml文件启动容器,会自动下载镜像,启动容器
[root@localhost webapps]# docker-compose up -d 
tomcat01 is up-to-date
tomcat02 is up-to-date
Recreating www-nginx ... done
[root@localhost webapps]# 
  • 浏览器输入地址测试,结果:容器成功创建启动,nginx也均衡到tomcat,这个404错误是发布目录没有文件而已。把代码放到宿主机映射的目录即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿蔡BLOG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值