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    mime.types;
  default_type  application/octet-stream;
  server{
        listen 80;
        server_name localhost;
        location / {
            root html;
            index index.html index.html;
        }
    }
}

創建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端口,搭建完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章