通过virtual box ,无界面启动, 然后通过vagrant ssh 连接虚拟机。
如果不带标签的话,默认下载的是最新的版本,
所以我们带上标签,这里下载MySQL5.7
然后使用sudo docker images ,检查镜像
准备启动容器
-p 端口映射
-d 后台启动
每次使用sudo有点麻烦,所以切换到root 用户,那么使用vagrant 创建的虚拟机的root 密码也是vagrant
然后创建实例并运行
然后使用MySQL 客户端连接工具,试着连接一下MySQL,然后填写虚拟机的ip地址和刚才设置的MySQL密码 root
接下来对于运行MySQL实例的Linux语句的一些解释
容器和容器之间是隔离的,我们可以进入到容器内部,通过下面命令
Docker exec -it mysql /bin/bash
进入之后查看目录 ls / ,发现就是一个Linux 目录结构
然后我们可以看一下MySQL到底装在哪里了
命令 whereis mysql
验证了MySQL容器的确是一个完整的Linux 环境
MySQL安装在MySQL 容器中,MySQL默认就会有一个端口MySQL3306,然而这个 端口是在容器内部使用的,如果我们想要访问MySQL,那么我们需要把容器的端口映射到Linux系统中,所以-p,就是进行端口映射
–name 就是给当前容器起一个名字
-v 目录挂在,,首先MySQL 是被安装在容器内部的,MySQL的配置文件是在容器内的etc/mysql下,那么我们如果需要修改MySQL配置,每次都要进入到容器内部,然后进入到对应的目录中去修改MySQL配置,所以我们希望将容器内部的经常要看的文件夹和文件映射到Linux的目录里面,所以-v的意思就是在我Linux的目录下创建一个mydata文件夹下MySQL文件夹的log文件夹与var/log/mysql文件夹进行挂载 。
-e 改变MySQL数据库的一些参数
然后使用exit;退出容器
是root 用户
然后就可以在Linux 中通过挂在的路径,去查看修改容器内部的文件
然后开始一个实际的例子
通过挂载目录修改MySQL的配置,具体如上图
使用vi /mysql…… , 添加内容
然后重启一下MySQL,才能让配置应用上,
先使用docker ps 看一下运行中的MySQL ,然后使用docker restart mysql重启mysql容器。
然后mysql就会应用刚才的配置,
然后进入容器中看一下, docker exec -it /bin/bash
然后看看对应的配置文件有没有更改
然后cat my.cnf,查看一下配置文件的内容
然后退出
至此,mysql在docker 下的安装步骤就完成了,mysql可以使用了。