docker基础篇:安装mysql单机版_容器

文章目录

  • ​​8.Docker常规安装简介​​
  • ​​8.1 docker常规安装总体步骤​​
  • ​​8.3 安装mysql​​
  • ​​8.3.1 docker hub上面查找mysql镜像​​
  • ​​8.3.2 从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7​​
  • ​​8.3.3 使用mysql5.7镜像创建容器(也叫运行镜像)​​
  • ​​简单版​​
  • ​​实战版​​
  • ​​本人其他相关文章链接​​

8.Docker常规安装简介

docker基础篇:安装mysql单机版_docker_02


docker基础篇:安装mysql单机版_docker_03

​注意点1:​​ 左面是原始的微服务架构,你要自己linux中搭建mysql、redis繁琐费事,右面是使用docker搭建的服务,直接docker run xx启动即可。

8.1 docker常规安装总体步骤

​docker常规安装总体步骤​​​ 1)搜索镜像
2)拉取镜像
3)查看镜像
4)启动镜像
5)停止容器
6)移除容器

8.3 安装mysql

docker基础篇:安装mysql单机版_docker安装mysql_04

8.3.1 docker hub上面查找mysql镜像

docker基础篇:安装mysql单机版_docker_05

8.3.2 从docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.7

docker基础篇:安装mysql单机版_安装mysql单机版_06

8.3.3 使用mysql5.7镜像创建容器(也叫运行镜像)

​注意点1:​​ 命令出处,哪里来的?

docker基础篇:安装mysql单机版_容器_07

简单版

docker基础篇:安装mysql单机版_mysql_08

​使用步骤:​​​ 1)使用mysql镜像
2)建库建表插入数据
3)外部Win10也来连接运行在dokcer上的mysql容器实例服务
4)思考问题

​注意点1:​​ 使用mysql镜像

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker ps
docker exec -it 容器ID /bin/bash
mysql -uroot -p

docker基础篇:安装mysql单机版_docker_09

​注意点2:​​ 建库建表插入数据

docker基础篇:安装mysql单机版_mysql_10

​注意点3:​​ 外部Win10也来连接运行在dokcer上的mysql容器实例服务

docker基础篇:安装mysql单机版_容器_11

​注意点4:​​ 问题总结:

问题1:插入中文数据报错,为什么报错如图1? docker上默认字符集编码隐患?

docker基础篇:安装mysql单机版_安装mysql单机版_12

如图1

docker里面的mysql容器实例查看,内容如下:

SHOW VARIABLES LIKE 'character%';

docker基础篇:安装mysql单机版_安装mysql单机版_13

如图2

​解决方案​​:修改默认编码,使其支持中文写入

问题2:删除容器后,里面的mysql数据如何办?

​解决方案​​:启动mysql容器的是否配置数据卷。

​注意点5:​​​ 启动mysql之前,执行命令 ​​pes -ef |grep mysql​​查看是否docker内已经启动mysql了,因为mysql默认端口3306,如果用户在linux环境下已经安装并启动一个mysql,而再运行docker run msql就会报错,会报端口被占用。

docker基础篇:安装mysql单机版_docker安装mysql_14

实战版

docker基础篇:安装mysql单机版_安装mysql单机版_15


​使用步骤:​​ 1)新建mysql容器实例

2)新建my.cnf

3)重新启动mysql容器实例再重新进入并查看字符编码

4)再新建库新建表再插入中文测试

5)结论

6)假如将当前容器实例删除,再重新来一次,之前建的db01实例还有吗?trytry

​注意点1:​​ 新建mysql容器实例

docker run -d -p 3306:3306 --privileged=true -v /zzyyuse/mysql/log:/var/log/mysql -v /zzyyuse/mysql/data:/var/lib/mysql -v /zzyyuse/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456  --name mysql mysql:5.7

docker基础篇:安装mysql单机版_mysql_16

​注意点2:​​ 新建my.cnf,通过容器卷同步给mysql容器实例

[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8

docker基础篇:安装mysql单机版_docker_17

​注意点3:​​ 重新启动mysql容器实例再重新进入并查看字符编码

docker基础篇:安装mysql单机版_mysql_18

​注意点4:​​ 再新建库新建表再插入中文测试

docker基础篇:安装mysql单机版_docker安装mysql_19

​注意点5:​​​​结论​

之前的DB 无效

修改字符集操作+重启mysql容器实例

之后的DB 有效,需要新建

结论:docker安装完MySQL并run出容器后,建议请先修改完字符集编码后再新建mysql库-表-插数据

docker基础篇:安装mysql单机版_安装mysql单机版_20

​注意点6:​

问题:假如将当前容器实例删除,再重新来一次,之前建的db01实例还有吗?

​答案​​:还是依然存在的

本人其他相关文章链接

1.​​《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群​​ 2.《docker高级篇(大厂进阶):2.DockerFile解析》包括:是什么、DockerFile构建过程解析、DockerFile常用保留字指令、案例、小总结
3.《docker高级篇(大厂进阶):3.Docker微服务实战》
4.《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
5.《docker高级篇(大厂进阶):5.Docker-compose容器编排》包括是什么能干嘛去哪下、Compose核心概念、Compose使用三个步骤、Compose常用命令、Compose编排微服务
6.《docker高级篇(大厂进阶):6.Docker轻量级可视化工具Portainer》
7.《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
8.docker基础篇:安装tomcat
9.docker基础篇:安装mysql单机版
10.docker基础篇:安装redis单机版
11.docker高级篇(大厂进阶):安装mysql主从复制
12.docker高级篇(大厂进阶):安装redis集群