系統架構
我們需要有一個可運行的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端口,搭建完成