需要的文档都放在此链接里啦链接(链接是绝对安全的,文档放在百度网盘里):
这样是为了方便过审^_^
部署Docker
1.卸载之前版本
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
#或 yum remove docker
2.设置Docker仓库
yum install -y yum-utils device-mapper-persistent-data lvm2
#或 yum install -y yum-utils
#对yum的管理
3.设置稳定的仓库
#设置阿里云
#作用:提升云下载速度
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装Docker Engine-Community 和 containerd
yum install docker-ce docker-ce-cli containerd.io
#注意 : Is this ok [y/N]: 输入y后回车,表示同意
4.启动Docker
#开机自启
systemctl enable docker
#启动Docker
systemctl start docker
Docekr部署JDK
1.下载JDK包
docker pull kdvolder/jdk8
2.运行JDK环境
docker run -di --name=jdk1.8 kdvolder/jdk8
#-d: 后台运行容器,并返回容器ID
#-i: 以交互模式运行容器
#--name="jdk1.8": 为容器指定一个名称
3.设置JDK开机启动
docker update --restart=always jdk1.8
Docker 部署MySQL
1.下载MySQL5.6
docker pull mysql:5.6
2.创建本地映射
#在根目录下 /
mkdir -p /home/mysql/{conf,data,logs}
-p 深度安装
#进入/home/mysql目录查看是否映射成功
cd /home/mysql
ls
3.运行MySQL环境
#运行MySQL/指定容器为mysql 创建用户root 密码为123456
docker run -p 3306:3306 --name mysql -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/logs:/logs -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
#-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
#--name="nginx-lb": 为容器指定一个名称
#-v: 绑定一个卷
#-e MYSQL_ROOT_PASSWORD=123456 设置MySQL密码
#-d: 后台运行容器,并返回容器ID
4.设置MySQL开机启动
docker update --restart=always mysql
5.验证MySQl
#在运行的mysql容器中执行命令
docker exec -it mysql bash
#-i :即使没有附加也保持STDIN 打开
#-t :分配一个伪终端
#链接MySQL
mysql -uroot -p123456
6.设置MySQL
#连接MySQL
#对容器设置
set global character_set_server=utf8;
#数据库设置
set global character_set_database=utf8;
exit #退出终端
exit #退出容器
7.上传my.cnf到/home/mysql/conf/
8.将MySQL配置文件上传容器
#在/home/mysql/conf/下进行配置,否则出错
docker cp my.cnf mysql:/etc/mysql
#docker cp 要上传的文件 容器名:路径
9.重启MySQL容器
#更改过配置都要重启
docker restart mysql
连接数据库导入MySQL数据
1.创建数据库
数据库名称:integration
字符集:utf8mb4
2.设置等待时间
docker exec -it mysql bash
mysql -uroot -p123456
#命令 设置数据库超时等待时间,主要针对增删改查等操作
set global wait_timeout=12800;
进入NavCat导入数据
设置全局等待时间
设置数据库超市等待时间,主要针对增删改查等操作
use integration;
set global wait_timeout=12800;
#退出到Linux中
Docker部署Redis
1.下载redis
#在mysql路径下
docker pull redis
2.创建本地映射
mkdir -p /home/redis/myredis
3.运行redis环境
docker run --name redis --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
Docker 部署Tomcat
1.下载tomcat8.5.56镜像
docker pull tomcat:8.5.56
2.创建本地持续化地址
mkdir -p /home/tomcat/{logs,webapps,conf}
3.运行Tomcat容器
docker run -d -p 8080:8080 --name tomcat -v /home/tomcat/webapps:/usr/local/tomcat/webapps -v /home/tomcat/logs:/usr/local/tomcat/logs --restart=always tomcat:8.5.56
4.设置开机启动
docker update --restart=always tomcat
5.进入tomcat容器
docker exec -it tomcat bash
#移动webapps.dist到webapps
mv webapps.dist/* webapps
6.上传server.xml到/home/tomcat/conf
#把/home/tomcat/conf文件夹中的server.xml复制到tomcat容器内的conf 注意:在/home/tomcat/conf路径下
docker cp server.xml tomcat:/usr/local/tomcat/conf
7.上传integration.war 包到 /home/tomcat/webapps
8.修改项目配置文中/home/tomcat/webapps/integration/WEB-INF/classes/的spring-mybatis.xml JDBC 的ip地址为服务器ip地址
cd /home/tomcat/webapps/integration/WEB-INF/classes/
vi spring-mybatis.xml
#将IP地址换成自己的服务器IP
#将连接最大空闲时间改为12800
9.清理/home/tomcat/logs/中的所有日志文件信息
cd /home/tomcat/logs
rm -rf 日志名
10.运行tomcat
docker restart tomcat
docker start tomcat
docker stop tomcat
验证项目环境
✓前 台 http://43.140.215.225:8080/integration/sc/homePage
✓后 台 http://43.140.215.225:8080/integration/manage
•用户名 root 密码 12345678
✓数据库 •用户名 root 密码 123456
修改
改权限
cd /home/tomcat/webapps/integration
pwd
chmod -R 777 integration
docker restart tomcat
重新配置mysql
#进入mysql容器
docker exec -it mysql bash
#进入mysql终端
mysql -uroot -p123456
set global wait_timeout=12800;
use integration;
set global wait_timeout=12800;
删除cd /home/tomcat/logs下所有日志
重启MySQL tomcat
docker restart tomcat
docker restart mysql
如果出现404保存请重重-修改-步骤 ^_^!
标签:容器,tomcat,Linux,--,练习,案例,mysql,home,docker From: https://blog.51cto.com/u_16239770/7401646