Docker安装Nginx并部署&MySQL容器构建

Docker安装Nginx并部署&MySQL容器构建_第1张图片

一.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

Docker安装Nginx并部署&MySQL容器构建_第2张图片

输入密码后进入到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

Docker安装Nginx并部署&MySQL容器构建_第3张图片

我们利用IP访问一下,出现以下界面说明安装成功 

Docker安装Nginx并部署&MySQL容器构建_第4张图片 上面的创建是最基础的创建Nginx容器,在后期我们还需要对Nginx进行配置,目录挂载等等

1.新建Nginx目录及配置目录

mkdir -p /soft/nginx/conf.d

进入到当前目录,将配置文件上传(配置文件在资源置顶,包含Nginx集群和域名映射) 

再所需测试的前端文件资源进行上传(同上)

Docker安装Nginx并部署&MySQL容器构建_第5张图片

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进行访问,访问成功说明前端部署成功了

Docker安装Nginx并部署&MySQL容器构建_第6张图片

3.本机域名映射 

进入到我们本机的C:\Windows\System32\drivers\etc目录下

找到Host打开进行修改你要映射的域名

输入你的虚拟机IP以及域名

Docker安装Nginx并部署&MySQL容器构建_第7张图片

你可能感兴趣的:(Docker,docker,nginx,mysql,容器,运维,笔记)