docker-compose部署tomcat+mysql+nginx反向代理

一、系统环境

centos 7.3最小化安装

docker 1.13.1

tomcat 9.0

mysql 5.5.57

nginx 1.10.3

二、服务器部署

1.更新系统包

yum update -y

2.安装docker

yum install -y docker 

3.安装docker-compose

此处使用pip进行安装

yum -y install epel-release
yum -y install python-pip

安装docker-compose

pip install docker-compose

4.拉取相关镜像

docker pull tomcat:9.0
docker pull mysql:5.5.57
docker pull nginx:1.10.3

三、编写docker-compose.yml文件

1.创建工作目录

mkdir -p /home/website

2.编写文件

version: '2'
services:
#tomcat setting
  tomcat:
    container_name: web_tomcat
    image: tomcat:9.0
    #host port:container port
    ports:
      - "8080:8080"
    #volumes path|host path:container path
    volumes:
      - ./tomcat/webapps:/usr/local/tomcat/webapps
    environment:
      TZ: 'Asia/Shanghai'
    #connect to another container
    links:
      - mysql
    restart: always

#mysql setting
  mysql:
    container_name: web_mysql
    image: mysql:5.5.57
    ports:
      - "3306:3306"
    volumes:
      - ./mysql/mysql.conf.d:/etc/mysql/mysql.conf.d
      - ./mysql/data:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro
    environment:
      #Initialize the root password
      MYSQL_ROOT_PASSWORD: yourpassword
      TZ: 'Asia/Shanghai'
    restart: always

#nginx setting
  nginx:
    container_name: web_nginx
    image: nginx:1.10.3
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf
      #本地./nginx/下一定要有这个nginx.conf文件
      - ./nginx/log:/var/log/nginx
      - ./nginx/www:/var/www
      - /etc/letsencrypt:/etc/letsencrypt
    restart: always

 

整合以上三个文件到工作目录下的docker-compose.yml文件即可

四、修改nginx配置文件,反向代理tomcat

打开挂载目录中的nginx.conf,修改nginx.conf中的http段,增加以下配置:

upstream website{
		server 127.0.0.1:8080;
	}

在http段下的server段下的location段中增加以下配置:

location / {
		proxy_pass http://127.0.0.1:8080;
           	#proxy_cookie_path /hudson/ /; 
          	proxy_set_header   Host    $host; 
           	proxy_set_header   X-Real-IP   $remote_addr; 
           	proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
        }

五、生成容器,检查

在启动nginx之前一定要检查挂载配置文件的路径下,要有对应的nginx.conf文件

进入docker-compose.yml文件所在的路径下

启动命令:

docker-compose up -d #后台启动所有容器
docker-compose up -d <容器ID> #后台启动指定容器

查看状态:

docker ps -a

停止命令:

docker-compose stop #停止所有
docker-compose stop <容器ID> #停止指定容器

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值