十七、docker学习-docker-compose安装nginx反向代理

compose安装nginx反向代理

IDEA安装docker插件

idea安装docker插件。Dockerfile、docker-compose.yml文件大部分内容会有提示信息。方便开发人员编写配置文件。

https://plugins.jetbrains.com/plugin/7724-docker/versions

基础镜像

docker pull 1.21.0-alpine
docker pull tomcat:9.0.20-jre8-alpine

试运行镜像

# 试运行镜像并获取nginx、tomcat配置文件,进行目录持久化
docker run -itd --name nginx -p 80:80 nginx:1.21.0-alpine
docker run -itd --name tomcat -p 8080:8080 tomcat:9.0.20-jre8-alpine
docker cp nginx:/etc/nginx/ /data
docker cp tomcat:/usr/local/tomcat/webapps /data/tomcat1/webapps
docker cp tomcat:/usr/local/tomcat/webapps /data/tomcat2/webapps
echo "tomcat1" > /data/tomcat1/webapps/ROOT/index.jsp
echo "tomcat2" > /data/tomcat2/webapps/ROOT/index.jsp
ocker rm -f nginx tomcat

修改nginx配置文件

# 在nginx.conf尾行增加内容 
include vhost/*.conf;

增加反向代理配置

mkdir -p /data/nginx/vhost 
cd vhost 
vi upstream.com.conf upstream nginxupstream{ server 10.211.55.7:8081; server 10.211.55.7:8082; 
}server{listen 80; server_name 10.211.55.7; autoindex on; index index.html index.htm index.jsp; location / { proxy_pass http://nginxupstream; add_header Access-Control-Allow-Origin *; } 
}

编写docker-compose

version: '3'
services:test-nginx:restart: alwayscontainer_name: test-nginxvolumes:- /data/nginx:/etc/nginx/image: nginx:1.21.0-alpineports:- 80:80test-tomcat1:restart: alwayscontainer_name: test-tomcat1volumes:- /data/tomcat1/webapps:/usr/local/tomcat/webappsimage: tomcat:9.0.20-jre8-alpineports:- 8081:8080depends_on:- test-nginxtest-tomcat1:restart: alwayscontainer_name: test-tomcat2volumes:- /data/tomcat2/webapps:/usr/local/tomcat/webappsimage: tomcat:9.0.20-jre8-alpineports:- 8081:8080depends_on:- test-nginx

启动服务

# 不指定compose文件,默认找当前文件夹下docker-compose文件
# -d后台运行
docker-compose up -d
# 指定compose文件运行
docker-compose -f compose/docker-compose.yaml up -d

浏览器测试

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7271.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.1、Java初级认识Java、jdk、 idea

前言 1.1 软件开发之 Java 开发 Java现在已经占有主流市场 企业级应用领域(JavaEE 后台):用来开发企业级的应用程序,大型网站如淘宝、京 东、12306,以及各大物流、银行、金融、社交、医疗、交通、各种 OA 系统等都…

Proxyman 替换js

在真机排查问题时,js不能格式化,导致没法看问题出在那一行,此时可以用这个方法替换js。 方法: 安装proxyman后,以iOS设备为例,菜单-证书-在iOS上安装证书 电脑、真机连接同一个网络,配置代理&…

1. MyBatis 整体架构

作为正式内容的第一篇,本次不会介绍具体的技术,而是先从全局视角上对 MyBatis 做一个俯瞰,了解 MyBatis 项目工程的组织结构,以及内部的核心功能模块。 工程结构 打开 MyBatis 的 Github 地址,就可以看到其代码工程结…

通过Appium Desktop实现录制功能并导出自动化脚本

1、我们进入下面这个界面 图中红色标记1为 “top by coordinates” 按钮, 这是一种通过坐标定位元素的方式。 图中红色标记2为 “Start Recording” 按钮, 选中表示处理录制状态。 2、点击“top by coordinates” 按钮,再点击 “Start Recor…

论文阅读 (94):Substructure Aware Graph Neural Networks (SAGNN, AAAI2023)

文章目录 1 要点1.1 概述1.2 一些概念1.3 代码1.4 引用 2 基础知识2.1 符号2.2 信息传递神经网络 (MPNN) 3 方法3.1 子图提取3.1.1 基于节点的策略3.1.2 基于图的策略 3.2 随机游走返回概率编码3.3 子图信息注入的信息传递 1 要点 1.1 概述 题目:子结构感知图神经…

【随笔】jupyter notebook启动打开文件出现:500 : Internal Server Error

错误: 看log有 module ‘mistune’ has no attribute BlockGrammar’错误 打开文件有500 : Internal Server Error 解决方法: pip install --upgrade jupyterhub pip install --upgrade --user nbconvertconda环境可以: conda install nbc…

linux基础命令总结

目录标题 目录操作1.绝对路径和相对路径2.目录的基本操作3.chomd、chown、chgrp4.cd命令 文件操作1.touch2.more4.cat5.grep6.rm7.cp8.mv9.find 磁盘操作1.df2.du date、passwd1.date2.passwd su、clear、man、who1.su2.man3.clear4.who unameuptimefreepsps与grep、kill1.与gr…

【LeetCode】HOT 100(20)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

银河麒麟服务器 v10 sp1 安装 .Net6.0

系统版本、架构: 如果系统自带.netcore3,先卸载系统自带的.netcore3: 卸载.netcore3: 我的系统没有自带.netcore3,也没有yum命令。 下载二进制文件安装SDK: 下载 .NET 6.0 (Linux、macOS 和 Windows) 下载…

deeplabv3+源码之慢慢解析main.py(1)--get_argparser函数

deeplab v3源码 慢慢解析系列 本带着一些孩子们做,但本硕能独立看下来的学生不多。和孩子们一起再学一遍吧。希望孩子们和我自己都能坚持写下去吧。网上资料太多了,但不够慢,都是速成,没有足够的解释和补充,希望这次够…

DDR4技术原理详解

DDR4是DDR4-SDRAM的简写,即第4代DDR-SDRAM,DDR-SDRAM全称Double Date Rate Synchronous Dynamic Random Access Memory。本文重点解析DDR4技术规范及其背后的电子电路原理,以及编程使用DDR4过程中需要注意的性能事项。 DDR4数据存储原理 DD…