目录
一、准备
二、创建自定义网络
三、创建mysql容器
四、搭建tomcat
五、创建第二台mysql
六、部署nginx容器
1.先查看一下docker中的镜像
docker images
2.删除docker中的所有容器
docker rm -f $(docker ps -aq)
3.查看所有的网络
docker network ls
4.删除指定网络
docker network rm ots
docker network create --subnet 172.20.0.0/16 ots
查看一下ots网络的具体信息
docker inspect ots
1.拉取mysql (注意联网
docker pull mysql/mysql-server:5.7
2.在mysql中跨级创建data ,conf目录
mkdir -p /data/mysql/{data,conf}
将my.cnf配置文件放到conf目录下
3.创建 (加粗的是mysql名称,记得改
docker run -p 3306:3306 \
--name mysql \
-v /data/mysql/conf/my.cnf:/etc/my.cnf \
-v /data/mysql/data:/var/lib/mysql \
--privileged=true \
--restart=always \--net ots \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql/mysql-server:5.7
docker run -p 3306:3306 \:指定映射端口,3306映射容器内部3306
--name mysql \:指名
-v /data/mysql/conf/my.cnf:/etc/my.cnf \:将新建的目录里的配置文件挂载到:/etc/my.cnf
-v /data/mysql/data:/var/lib/mysql \:将新建的目录挂载到配置文件中指定的目录路径:/var/lib/mysql
--privileged=true \:具备管理员权限
--restart=always \:总是重启
--ip 172.20.0.110\:固定ip,但如果指定了net,会默认分配ip,所以不指定也没事
--net ots:指定自定义网络
-e MYSQL_ROOT_PASSWORD=123456 \:指定环境变量
-d mysql/mysql-server:5.7:指定镜像名称
创建完之后,使用查看详情的命令,如果显示了ip信息,代表启动成功了,没启动是不会自动分配ip
docker inspect mysql
或使用
docker ps -a
命令查看是否启动成功
4.进到mysql容器中
docker exec -it mysql sh
mysql -u root -p;
输入密码
进到容器里之后,新建一个用户,设置密码和访问权限 (%代表所有主机都可以访问
grant all privileges on *.* to root@'%' identified by '123456';
刷新
flush privileges;
查看所有数据库
show databases;
创建crm数据库
create database crm;
切到crm
use crm;
将crm建表语句文件放到data目录里
使用source指令运行
source /var/lib/mysql/crm.sql
查看所有表
show tables;
完成,退出
ctrl+p q
拉取tomcat (注意联网
docker pull tomcat:8.5.40
tomcat的部署文件夹 webapps
mkdir -p /data/tomcat/webapps
进到webapps中
cd /data/tomcat/webapps
把crm.war包放进去
因为tomcat需要去连mysql,但mysql的ip是自定义的,所以打开crm.war,找到web-inf,找到classes,里面有个叫spring-base.xml的文件,数据库的连接语句就再这个文件里面,将172.19.0.3改成自己定义的ip
删除创建的tomcat
docker rm -f tomcat-0
重新创建启动
docker run \
-p 8080:8080 \
--name tomcat-0 \
--privileged=true \
--restart=always \
--net ots \
-v /data/tomcat/webapps:/usr/local/tomcat/webapps \
-e TZ=Asia/Shanghai \
-it tomcat:8.5.40
如果端口被占用,就把主机映射端口改一下
成功之后查看一下
docker ps -a
没反应的话把tomcat容器删除再重新创建
docker rm -f tomcat-0
到浏览器访问一下,出现404 not found就说明成功
192.168.2.131:8080
试卷上有给一个路径,复制访问一下是否能够登录成功
改一下端口和名称
docker run \
-p 8081:8080 \
--name tomcat-1 \
--privileged=true \
--restart=always \
--net ots \
-v /data/tomcat/webapps:/usr/local/tomcat/webapps \
-e TZ=Asia/Shanghai \
-it tomcat:8.5.40
把试卷上的路径的端口改一下进行访问看是否成功
拉取
docker pull nginx
创建三个目录
mkdir -p /data/nginx/{html,logs,conf}
进到html文件夹
cd /data/nginx/html/
把crm.zip文件放进去
解压
unzip crm.zip
进到conf目录
cd .. /conf/
将nginx.conf文件放进去
打开nginx.conf找到upstream tomcats,进行修改
如果不知道ip是多少,可以查看一下
docker inspect ots
改成这样,后面都是8080
根据配置文件创建nginx
docker run -d -p 80:80 --name nginx-0 \
-v /data/nginx/html:/usr/share/nginx/html \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/logs:/var/log/nginx \
--net ots \
nginx
创建完成后到浏览器直接访问ip 192.168.2.131
输入账号za 密码123,没有反应
找到hosts文件 (没有后缀的那个
C:\WINDOWS\system32\drivers\etc
直接访问是访问不了的,需要管理员权限
右键此文件,点击属性,把只读权限取消,选择安全,点击本机 Users,点击编辑,将完全控制勾上,现在就有权限了
打开hosts文件,添加一条语句,改成自己的ip,保存一下
然后再在浏览器中访问 www.zking.com网址,发现可以访问了,不过这个网址只对自己电脑有效
输入账号zs 密码123 ,成功。