一.MySQL容器的构建
1.创建MySQL根目录及配置文件夹&data文件夹
mkdir -p mysql/{conf,data}
2.上传配置文件
将配置文件上传到conf文件夹(数据库配置文件已放到置顶资源中)
3.命令构建MySQL容器
/soft/mysql/conf/my.cnf:/etc/my.cnf目录为我们配置绑定的目录
/soft/mysql/data:/var/lib/mysql 是将data目录与MySQL目录进行绑定
docker run \
--name m1 \
-v /soft/mysql/conf/my.cnf:/etc/my.cnf \
-v /soft/mysql/data:/var/lib/mysql \
--privileged=true \
-e MYSQL_ROOT_PASSWORD=123456 \
--net mynet \
--ip 172.20.0.200 \
-d mysql/mysql-server:5.7
5.创建用户并赋予权限
进入到我们的MySQL容器中(m1为容器名)
docker exec -it m1 bash
进入容器后登录到MySQL
mysql -u root -p
输入密码后进入到MySQL赋予权限
grant all on *.* to root@'%' identified by '123456';
6.编辑Dockerfile文件准备构建镜像
Dockerfile文件详解:
openjdk为我们构建的基础镜像
/project为我们指定的工作目录,可以根据实际情况替换为自己的目录
spring-jar为我们要上传部署的项目,这里要提前将项目放到与当前dockerfile文件同级目录下,然后将当前项目复制到我们的工作目录
CMD java -jar spring.jar 是在创建镜像时运行当前项目
-mysql/addr 为指定配置文件中的运行地址
FROM openjdk
WORKDIR /project
COPY spring-jar /project
CMD java -jar spring.jar -mysql/addr
7.在MySQL中用命令运行SQL文件
首先将准备好的SQL文件放到之前创建好的../mysql/data目录下
然后登录进入到当前Mysql中
在前面我们构建镜像时有一个将data目录与MySQL配置文件目录进行绑定
-v /soft/mysql/data:/var/lib/mysql
注:首先要创建好数据库并指定使用当前数据库
例:
create database shop
use shop
现在我们可以执行以下命令进行运行SQL文件
source /var/lib/mysql/book.sql
二.Nginx安装与部署
1.拉取Nginx镜像
docker pull nginx
2.创建并运行Nginx容器
docker run -it -p 80:80 --name n1 nginx
我们利用IP访问一下,出现以下界面说明安装成功
上面的创建是最基础的创建Nginx容器,在后期我们还需要对Nginx进行配置,目录挂载等等
1.新建Nginx目录及配置目录
mkdir -p /soft/nginx/conf.d
进入到当前目录,将配置文件上传(配置文件在资源置顶,包含Nginx集群和域名映射)
再所需测试的前端文件资源进行上传(同上)
2.运行以下命令创建并配置容器
docker run -itd \
--name n1 \
-v /soft/nginx/conf.d:/etc/nginx/conf.d \
-v /soft/nginx/html:/etc/nginx/html \
-p 80:80 \
--net mynet \
--ip 172.20.0.104 \
nginx
容器创建运行完成后,在主机可以利用IP进行访问,访问成功说明前端部署成功了
3.本机域名映射
进入到我们本机的C:\Windows\System32\drivers\etc目录下
找到Host打开进行修改你要映射的域名
输入你的虚拟机IP以及域名