Docker | 分布式模拟
系统架构我们需要有一个可运行的java jar包,这里的jar包运行在miaoshaserver上Mysql服务器创建mysql容器docker run -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7创建miaoshaserver服务器拉取一个运行Java环境的镜像docker pul...
·
由于虚拟机无法运行在单个机器上,所以采用docker这个微虚拟机进行模拟,一个docker容器代表一台服务器。
系统架构
我们需要有一个可运行的java jar包,这里的jar包运行在miaoshaserver上
Mysql服务器
创建mysql容器
docker run -p 3306:3306 --name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
创建miaoshaserver服务器
拉取一个运行Java环境的镜像
docker pull java
运行一个miaoshaserver1容器在java环境中
docker run -it --net host --name miaoshaserver1 -d java
将miaosha.jar包复制到docker容器中
docker cp miaosha.jar miaoshaserver1:/var/tmp/
克隆一个miaoshaserver
docker commit -m="miaoshaserver" -a="wangyu" 14f20624f803 miaoshaserver
查看镜像创建结果
docker images
创建miaoshaserver2容器
docker run -it --net host --name miaoshaserver2 -d miaoshaserver
进入docker容器
docker exec -it miaoshaserver1 /bin/bash
分别进入miaoshaserver的两个容器进行启动和配置
启动miaosha.jar包
java -jar /var/tmp/miaosha.jar
注意修改配置文件的端口
注意我们连接的mysql 的ip应该是172.17.0.1.这是因为mysql容器没有使用–net host 标签,使用的应该是docker容器默认ip而非主机网络。
Nginx服务器 openresty的安装
docker pull openresty
建立存储配置文件的目录
mkdir ~/work
cd work
mkdir conf
mkdir logs
添加nginx.conf配置
vim conf/nginx.conf
nginx.conf内容(注意在主机开放80端口)
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include /usr/local/openresty/nginx/conf/mime.types;
upstream backend_server {
#这里的IP就是反向代理的IP,代理的服务器IP和端口做如下的配置
server 10.0.0.133:8080 weight=1;
server 10.0.0.133:8090 weight=1;
}
server{
listen 80;
server_name localhost;
location /resources/ {
alias /usr/local/openresty/nginx/html/resources/;
index index.html index.html;
}
location / {
proxy_pass http://backend_server ;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
创建openrestry容器
docker run -d --name nginx-openresty -p 80:80 -v $PWD/conf/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro -v $PWD/logs:/usr/local/openresty/nginx/logs openresty/openresty
将前端资源复制到目录下
docker cp miaosha-front.tar nginx- openrestry:/usr/local/openrestry/nginx/html
进入openrestry容器
docker exec -it nginx-openresty /bin/bash
cd /usr/local/openrestry/nginx/html
解压文件
tar -xvf miaosha-front.tar
访问80端口,搭建完成
更多推荐
所有评论(0)