众所周知,如果我们要把项目放在服务器上运行,那么数据存储就是必需的,就用这篇小小文章记录一下我的经历吧。
MySQL是一个关系型数据库管理系统,也是是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
图片来源
:一个小城市夜晚
作者:
博主
阿里云Docker安装Mysql 带步骤图
- 一、Docker 搜索Mysql 镜像
- 二、Docker 拉取Mysql 镜像
- 三、Docker 查看全部镜像
- 四、Docker 启动Mysql镜像
- 五、Docker 查看全部容器
- 六、Docker 查看运行日志
- 七、外部测试
- 八、自言自语
一、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方面的文章,这次就打算把初阶阶段方面的知识点都补一补。👩💻👩💻