00:00
好,那接下来呢,我们就使用docker安装上我们后来开发要用的my circle以及red环境,首先呢,我们连接上虚拟机,那虚拟机呢,我上次关机啊,现在已经停止了,我们把它开机启动,用无界面方式启动,好虚拟机呢,在后台慢慢启动,等它启动成功以后呢,我们快速的可以使用vigranrant SSH就能连上虚拟机来稍等一下。这块呢,大概看到虚拟机正在启动的过程。好,我们现在呢,去来连接上虚拟机,那连接线上虚拟机以后呢,我们想要用docker的方式安装软件,那么它的步骤呢,我们先是。让docker去镜像仓库里边下载这个软件的镜像,那我们想要安装my circle,我们就来镜像仓库,我们来搜索一下MYS。My circle呢,这有官方镜像official,这都是官方镜像来点进来,所以呢,我们就可以下载这个镜像就行了,那要下载这个镜像呢,其实用一个非常快的命令,我们叫docker po,那docker po呢,就是docker从镜像仓库里边往来下载,下载谁呢?如果我们来写MYS,它会下载最新的MYSL,因为每一个镜像呢,我们来看这有一个叫T,叫标签,每个镜像呢,后边比如latest,这就是它的标签,8017,这是啥?它的标签,如果我们想要下载指定版本的,比如我们下5.7的MYSQL,那我们就需要这样写MYSQL冒号5.7。
01:35
那我们呢,就以买5.7的MYS为例,我们先来下载MYS的镜像,当我们现在呢,必须使用速度的方式docker my。冒号5.7,好,我们让它进行来下载。
02:00
好,我们这个绩效呢,就下载完成了。我们可以检查一下我们当前下载镜像使用速度,Docker images命令来检查我们当前所有的镜像,我们下载了一个镜像叫MYSQ,它的版本呢是5.7,包括当前镜像的ID,有了这个镜像以后呢,我们就可以直接让。我们的docker按照我们这个MYSQL镜像帮我们启动一个MYSQL容器。怎样能启动一个容器呢?我给大家的文档里边有这么一条命令叫docker run,诶doer启动一个容器,杠P3306冒号3306,这个呢叫端口映射,是将我们容器的3306端口映射到主机的3306端口。答,我们一会会详细解释这个,那么杠杠name是为我们当前启动的这个容器起一个名,比如我们叫MYSQLMYSQL01等等都行,然后呢,杠V这一堆就是目录挂载,我们一会儿解释,杠一呢,就是在启动容器的时候呢,给我们MYSQL设置一些参数,设置什么参数呢?首先调整MYSQL的root的密码,默认呢,MYSQL是使用root账户,密码是什么呢?我们在这一块我们自己写上root,那以后就拿root root就能访问MYS了。接下来这一块重要的杠D,杠D呢,就是以后台方式运行这一块的my circle5.7指的是呢,我们是用哪个。
03:28
镜像启动的这个容器,因为我们之前呢,有一个镜像,我们下载来的这个镜像是MYSQL,它的这个标签呢,是5.7,相当于使用这个镜像来启动的容器,中间的这些斜杠呢,那都是换行标志,好我们可以直接把这个命令粘贴去运行,当然这个命令呢,目前不是root用户,也需要root用户的权限,那每次输入太麻烦,我们可以直接切换到root用户,输root,那接下来呢,他要写root用户的密码,因为我们这要vagrant创建的这个虚拟机,默认的root用户的密码也叫vigrant,好我们就直接来输Y个rant回车,好,我们现在呢看一下WHOI啊,我们现在呢切换到root用户,那可以直接把这个命令拿来。
04:14
运行来复制过来给这儿呢进行粘贴,粘贴以后呢,我们来准备好回车,我们看到呢,这有一串很长串的标志,那说明我们这个容器就启动起来了,也就是呢,我们的MYSQL就装好了,怎么看它装好了呢?我们可以使用命令叫docker PS查看我们docker现在正在运行中的容器。我们现在呢,这看到哎,我们把这个放大重新来查一下,我们现在呢,看到container ID,这是一个唯一的ID,然后image,我们是使用这个镜像启动的,启动时用的命令,什么时候创建的等等,这还有一个叫ports端口号3306,映射到3306,包括这个names名叫MYSQL,相当于我们就启动了一个MYSQL,只要别人呢去来连3306就能访问我们的MYSQ了,大家可以呢,拿自己的my circleq客户端连接工具来测试脸,那我来启动我的circleql要诶这是我们连my circleq的客户端,由于我们的这个虚拟机的地址是56.10,所以我写成56.10,我呢直接用root root3306,我来连我们刚才启动的MYSQ,看行不行,我点一个测试连接,诶,你发现呢,Connection successful mys呢,就装好了,是不是很快呀?当我们解释一下这些命令是什么意思。
05:39
打开我们给大家发的这个PPT图,我们可以看到下边这有一个docker的容器文件挂载与咱们这个端口映射,我们刚才呢就是使用这个命令启动起来的马SQ容器,首先呢,我们来说一点,每docker run一下,那我们就会启动一个容器,而且我们之前说过刀ER的概念,容器跟容器之间互相隔离的,而且每一个容器都是一个完整的运行环境,相当于我们刚才启动的这个MYSQL容器,我们来看一下docker PS,我们启动的这个MYSQ容器,它是一个MYSQL完整的运行环境,怎么体现它完整的?因为MYSQL是装在Linux里边,所以这个容器呢,其实就是一个完整的Linux,我们可以验证一下,我们可以进到我们这个MYSQL容器内部,怎么进呢?使用这个命令docker ex ex-I以交互模式,我们进哪个容器呢?我们可以写容器的ID,诶我们写前几位,前三位都。
06:40
都行,只要能给别人表示出不一样就行了,那们写容器的ID,或者呢写容器的名字,MYSQL,那这个呢,Names,诶这个表格对应这MYS容器的名字,这都行,我们想要进入这个容器,然后呢,我们进入它的B,但是哎,我们进入它的linus的,但是控制台好相当于呢,我们现在看啊这一块呢,Root at20987,我们相当于呢,以root用户访问到了我们这个容器内部,而不是我们这个虚拟机,我们虚拟机是vagant,好,现在呢,我们进入到相当于MYSQL容器内部,我们给大家LS杠看一下,我们列举一下整个目录结构,我们会发现呢,这个目录结构其实就是一个完整的名词目录结构。
07:26
我们的MYSQ相当于就被装在了这个Linux里边,哎,相当于呢,我们有一个小小的Linux mysq容器就是一个Linux被装到了这里边,那我们可以看一下它装在哪里了呢?我们使用这个命令,Where is my circle好,我们能检查到跟my circle相关的目录都在这,相当于呢,我们验证了一下,我们MYSQL容器确实是一个完整的Linux,那知道这个以后呢,我们接下来说一句话,首先呢,MYSQL装到了MYSQ容器里边,那MYSQ默认就会有一个端口MYSQ叫3306,但是呢,这个端口相当于是在这个容器内部用的端口,如果我们想要访问MYSQL呢,我们需要把3306映射到我们的Linux里边,所以我们这一句杠P3306冒号3306,意思就是我们Linux的3306端口跟我们doer容器内部的3306端口一一对应,相当于。
08:27
访问LINUX3306,那就能访问到我们这个容器内部装的MYS口的这个端口了,好,那我们杠P就是端口映射就做完了,接下来呢,我们再来看杠刚name,这都是给当前容器起一个名叫买circle,我们之前一直看我们的这个容器的名字,我们来往上翻,来我们刀ERPS看这个容器的名字叫满S,没问题,这个呢,接下来我们来看主要这一块杠V,这一堆杠V呢都叫目录挂载,目录挂载是什么呢?首先我们知道我们的MYSQ是被装在这个容器内部的,诶,Where is my s在我们2009这个容器内部,我们装了MYSQL,那MYSQ的配置文件呢,是在ec mysq下,相当于呢,我们容器内部的ETC MySQL下都是跟MYSQL有关的一些配置文件等等,包括呢,我们容器的one目录下的log下有我们MYSQL相关的日志,我们也可以看一下。
09:27
CD到我们的当前容器内部的哇,目录里边的log目录LS来看一下,这专门有一个MYSQL,然后呢,MYSQL里边呢,最终所有日志都会被记在这个MYSQL文件夹下,相当于呢,我们装好的MYSQL都在这个容器内部有对应的文件夹,但是呢,为了方便修改,比如我们想要修改MYSQL的配置,难道每次都要进到容器内部ETC MySQL下边我们来改MYSQL配置吗?太麻烦了,所以呢,我们希望将容器内部的这些我们经常要看的。
10:01
这些文件夹包括一些内容,我们映射到Linux的目录里边,所以说呢,我们现在呢,这个杠V命令就是这个样子,杠V呢,My data my circle log双冒号的意思就是在我Linux目录下创建一个my data文件夹下的my circle的log文件夹,这个文件夹呢冒号,冒号就是与容器内部的one log MySQL文件夹进行挂载,所谓的挂载就是容器内部我们马SQL运行,只要给文件夹里边产生了日志,那我们Linux外边就能看到这个日志,这个呢相当于就是一个啊我们之前做的快捷方式一样,诶相当于把我们容器内部的MYSQL这个文件夹快捷方式放到我们Linux外部的这个位置,那相当于我们只需要在Linux外部的这个文件夹就能实时的观察到MYSQL容器内部我们感兴趣的文件夹里边的内容。所以呢,我。
11:02
下载了三个文件夹,第一个把我们MYSQL容器内部MYSQL这个日志文件,我挂载到Linux虚拟机的外边,创建了快捷方式以后,我们看日志,在在我们这个目录下看,我还挂载了一个叫ETC MySQL,相当于把我们MYSQL容器里边我们装的这个MYSQ的相关的一些配置信息,诶我们挂载到我们外部的my data MySQL conflict目录下,相当于我们如果以后想要改MYSQ的配置,只需要到Linux进Linux虚拟机里边,我们来到这个目录下找我们马SQL配置改了,那我们容器里边也就跟着改了,因为这两个文件夹是挂载的,因为建起超链接的好。接下来我还挂载了一个目录叫my one lib my circle,相当于呢,把我们my circle运行期间的一些数据,MYSQL数据库啊,它要持久化,保存的这些数据文件,那我都挂载到外部MySQL data相当于。
12:02
我们想要备份MYSQL数据库的这些文件等等等等,我们直接去来我们的Linux外部的my data MySQL下的data文件夹,就能看到我们整个MYSQL运行期间的这些数据。好,接下来这些杠一呢,我们就不说了,这是改变我们MYSQ的一些参数等等等等,主要呢,我们就来看一下我们这个端口映射与文件挂载,包括呢,这两种方式在我们以后启动任何容器的时候,包括我们要启动red等等等等,我们都要常用,我们把容器里边装的red的这个端口,我们映射到我们外边,映射到外边我们虚拟机能进行访问的,包括呢,我们red的一些配置文件我们也挂载到外边,我们一改Linux redx里边的东西也就改了,这样就很方便。所以呢,我们来看一下我们最终运行的效果,我们刚才呢,进入到了这个容器内部,我们现在退出容器,我们现在来到我们真的Linux虚拟机,我们是root and10好,我们刚才。
13:02
带目录挂载的时候呢,我们创建了my data文件夹,MySQL log等等,那我们现在来看一下有没有那CD到my data文件夹,诶我们发现了这里边有my circle,包括呢my circle里边有我们三个目录,那以后呢,我们my circle容器内部有什么变化,我们在这一块都能反映到,包括呢我们修改我们外部的,比如我们修改配置。配置文件的这个文件夹,比如里边呢,有一个配置文件,我们在这修改了以后呢,我们容器内部也会有变化,好,那正好呢,我们就在这儿修改一下MYQL的配置文件,那这个配置文件呢,我们主要把MYSQL的这个字符编码我们来改一下,因为MYSQL默认是拉丁的,那我们现在都改成UTF8,那怎么修改呢?这一块都是MYSQL的配置文件里边的内容大家复制来,我们呢,只需要用一个命令VI,我们来在我们的外部挂载的目录,My data my circle config的my config我们来修改这个文件,把内容复制进去,当然我们现在config目录里边现在还没有任何文件,我们VI my config Co,好,然后呢,敲I,然后进入这个插入模式,然后我们把这个粘贴过来,那这一块呢,主要就是我们MYSQ的字符编码,那修改完以后呢,WQ退出我们需要重启一下。
14:27
MYSQL容器才能应用到配置,怎么重启呢?我们先来看docker PS,这是我们正在运行中的MYSQL,想要重启呢?们可以用docker restart,让docker帮我们来重启一个,谁呢?MY回车。好,那稍等呢,我们MYSQL就重启起来了,包括呢,我们MYSQL也会用到我们指定的配置,那们这个配置呢,也会映射到容器内部,当然我们可以看一下docker exec-it,我们以交互模式进入到MYS的B办式操作台,好。
15:01
进来以后呢,我们接下来看一下,因为我们MYSQ的配置文件我们是映射到这儿的,我们来看一下,我们是把MYSQL容器内部的ETC my circle是跟config关联的,所以我们只需要看容器内部的CD,进到ETC my circlel里边my al我们会发现,诶,这有个my config,那直接猫一眼,哎,My conig,好,我们能看到呢,我们这个config里边的内容跟我们当时是改的是一模一样的,那至此呢,我们这个MYSQL配置文件修改也就结束了,那么整个MYSQ呢就可以使用了。
我来说两句