1.说明
本博客介绍了利用docker安装mysql的流程,以及mysql使用时遇到的groupBy查询报错的解决方法;
2.拉取mysql镜像
指令: [任意目录层级均可使用该指令] docker pull mysql:5.7
3.检查镜像是否拉取成功
指令: [任意目录层级均可使用该指令] docker images
以上是我的查询信息.
3.创建mysql容器
指令:[任意目录层级均可以使用该指令]
docker run -id --name=mysql_docker -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root \
mysql:5.7 --character-set-server=utf8
解释:
-p 指定docker容器与宿主机的映射端口, 前面的3306对应宿主机端口,后面的3306对应容器的端口, 当请求宿主机的3306端口时,会通过映射,将请求映射至docker容器(具体怎么映射暂时还不了解,欢迎大神评论解释),
这是因为我们没有在创建容器的指令中指定docker的网络模式,故自动采用docker默认的网络模式: bridge模式,.在我们创建容器时也会见到给创建容器的指令中加上参数 -net=host,此时发现指令中没有-p了, 那是因为该模式为docker的另一种网络模式,host模式,即该docker容器与宿主机共享ip和端口;
-id: 创建守护式容器, 创建后以后台进程的方式在运行
-it: 创建后直接进入命令行交互界面,退出交互界面后自动关闭容器