Docker | 分布式模拟

网友投稿 342 2022-08-25

Docker | 分布式模拟

由于虚拟机无法运行在单个机器上,所以采用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

克隆一个miaoshaserver

docker commit -m="miaoshaserver" -a="wangyu"

查看镜像创建结果

docker images

创建miaoshaserver2容器

docker run -it --net host --name miaoshaserver2 -d miaoshaserver

进入docker容器

docker exec

分别进入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 ~/workcd workmkdir confmkdir

添加nginx.conf配置

vim conf/nginx.conf

nginx.conf内容(注意在主机开放80端口)

worker_processes 1;error_log logs/error.log;events { worker_connections 1024;}{ 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 ; 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

进入openrestry容器

docker exec

cd

解压文件

tar

访问80端口,搭建完成

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Nginx动态和静态分离配置
下一篇:营销技巧:做销售的要有气势,才能征服客户!(营销技巧和营销)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~