众所周知,如果我们要把项目放在服务器上运行,那么数据存储就是必需的,就用这篇小小文章记录一下我的经历吧。
MySQL是一个关系型数据库管理系统,也是是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
图片来源
:一个小城市夜晚
作者:
博主
@[TOC](阿里云Docker安装Mysql 带步骤图)
一、Docker 搜索Mysql 镜像
docker 搜索镜像命令 docker search <镜像名字>:<版本号>
docker search mysql
复制代码
??
二、Docker 拉取Mysql 镜像
docker 拉取镜像命令 docker pull <镜像名字>:<版本号>
docker pull mysql:5.7
复制代码
三、Docker 查看全部镜像
docker images
复制代码
四、Docker 启动Mysql镜像
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v/home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
复制代码
docker 中启动时可带参数很多,这里只讲这次mysql 启动所用到的参数。
解释:
??
-
docker run :启动镜像命令
-
-d:在后台运行容器,并打印容器id。
-
-p:发布列表将容器的端口发布到主机 (即端口映射)
-
注意:
要打开服务器安全组哈。不然访问不了。 -
此处所写的
3310:3306
的意思是:?♀️
-
-
-v:文件挂载。
- 此处
-v /home/mysql/data:/var/lib/mysql
的意思是 将 宿主机中的目录 “/home/mysql/data” 与 mysql容器中的文件目录 “/var/lib/mysql” 进行 挂载(==形象理解:即双向绑定,修改宿主机的文件,容器内的文件也随之更改==)。 注意:
宿主机我们要绑定的文件目录,只用写明,不用主动创建,在启动过程中,会自动创建。
- 此处
-
-e: 设置环境变量。
- 此处:
MYSQL_ROOT_PASSWORD=123456
设置Mysql 管理员密码。
- 此处:
-
–name:为启动的容器取一个名字,此处即为 启动的mysql 容器取名为:mysql01
-
mysql:5.7: 为镜像名称 mysql 为镜像名称,
:
后的 5.7 为指定版本 。 不指定 Docker 会自动去中央仓库拉取最新版。
注意:有时候我们启动完成了,打印出容器id,但是并不代表,我们一定是启动成功了的。
可以通过以下几个方式来判断:1、查看容器运行日志,2、通过外部访问 (后文有)
五、Docker 查看全部容器
docker ps -a
复制代码
注
: -a 就是查询全部的容器 ,不带 -a 参数就是查询运行中的容器
==不带 -a参数:==
带 -a参数:
六、Docker 查看运行日志
基本格式:docker logs [OPTIONS] CONTAINER ??
OPTIONS:可带参数 见下图。
- –details 显示更多的信息
- -f, –follow 跟踪实时日志
- –since string 显示自某个timestamp之后的日志,或相对时间,如30m(即30分钟)
- –tail string 从日志末尾显示多少行日志, 默认是all
- -t, –timestamps 显示时间戳
- –until string 显示自某个timestamp之前的日志,或相对时间,如30m(即30分钟)
举例:
1、查看此容器全部运行日志:
docker logs <容器id>
复制代码
2、查看日志,只显示最后200行
docker logs --tail 200 CONTAINER_ID
复制代码
3、查看最近30分钟的日志
docker logs --since 30m CONTAINER_ID
复制代码
4、查看某时间之后的日志
dockere logs -t --since "2020-10-25T14:06:30" CONTAINER_ID
复制代码
5、查看某时间段之间的日志
docker logs -t --since "2020-10-25T14:06:30" --until "2020-10-26T14:06:30" CONTAINER_ID
复制代码
七、外部测试
我们连接完成后,在这里操作,然后去 服务器上查看,看是否成功。
创建完成后,我们去服务器上查看。
进入容器命令
docker exec -it <容器名> /bin/bash
复制代码
通过 show databases;
查看此时有多少数据库。证明我们操作成功拉。
web 配置文件书写:
url: jdbc:mysql://ip地址:3310/test?useSSL=false&characterEncoding=utf8&serverTimezone=GMT
复制代码
注:
端口设置成什么即填写什么。
八、自言自语
注意:
这么使用mysql 存在一定安全问题,因为我的没有什么重要文件,才如此做的,对外开放端口,存在一定的危险性。 自己写着玩的,肯定不影响的,没有问题的,如果是需要考虑这方面问题的,可以去查看 docker 容器连接 相关的文章,即可解决。
最近在整理文章的时候,发现写了不少Docker方面的文章,这次就打算把初阶阶段方面的知识点都补一补。????
希望大家能私信给点照片救济,库存没有啦?
对于Docker 安装其他东西感兴趣的,redis、vue、SpringBoot等等可以看这看这?