IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker-compose发布nginx和tomcat,实现nginx均衡tomcat,访问nginx即访问tomcat -> 正文阅读

[系统运维]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错误是发布目录没有文件而已。把代码放到宿主机映射的目录即可。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 16:08:03  更:2022-05-01 16:12:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:26:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码