Docker学习笔记3(狂神)

可视化

Docker学习笔记3(狂神)_第1张图片

Docker学习笔记3(狂神)_第2张图片

Docker学习笔记3(狂神)_第3张图片

这样我们就已经安装成功了。

 Docker学习笔记3(狂神)_第4张图片

 Docker学习笔记3(狂神)_第5张图片

我们一般选择本地的。

Docker学习笔记3(狂神)_第6张图片

然后我们就可以看到这样的面板。

不过这个我们平时不会去使用,只是作为了解即可。 

Docker学习笔记3(狂神)_第7张图片

Docker学习笔记3(狂神)_第8张图片

Docker学习笔记3(狂神)_第9张图片

Docker学习笔记3(狂神)_第10张图片

镜像分层的理解:

Docker学习笔记3(狂神)_第11张图片

Docker学习笔记3(狂神)_第12张图片

Docker学习笔记3(狂神)_第13张图片

Docker学习笔记3(狂神)_第14张图片

Docker学习笔记3(狂神)_第15张图片 Docker学习笔记3(狂神)_第16张图片

如何提交一个自己的镜像。

Commit镜像 

实战测试

Docker学习笔记3(狂神)_第17张图片

我们现在启动了tomcat。

Docker学习笔记3(狂神)_第18张图片

我们进入了tomcat控制台。

 Docker学习笔记3(狂神)_第19张图片

这步操作上一次笔记已经讲解过了。

然后我们就要去使用它了。

Docker学习笔记3(狂神)_第20张图片

我们就可以登录到我们的tomcat页面了。

Docker学习笔记3(狂神)_第21张图片

4. 将我们操作过的容器通过commit提交为一个镜像,我们以后就使用我们修改过的镜像即可,这就是我们自己的一个修改的镜像

到了这里我们才算入门docker。

Docker学习笔记3(狂神)_第22张图片

Docker学习笔记3(狂神)_第23张图片

总结一句话:容器的持久化和同步操作!容器间也是可以数据共享的!

使用数据卷 

方式一:直接使用命令来挂载 -v

Docker学习笔记3(狂神)_第24张图片

Docker学习笔记3(狂神)_第25张图片

我们会发现我们的环境中就多了测试这个文件夹。

我们看完了虚拟机本机中的以后,我们再来看看我们的容器的home文件夹下有什么:

我们会发现我们的容器的home文件夹下什么都没有:

我们现在要做的事情就是我们以后在容器home下做的操作也能同步到 虚拟机本机中的home下面。

Docker学习笔记3(狂神)_第26张图片

测试文件的同步:

Docker学习笔记3(狂神)_第27张图片

 我们在容器里创建的文件会同步到本机对应的文件夹中去。

我们先关闭容器:

Docker学习笔记3(狂神)_第28张图片

我们在本地去修改test.java文件里面的内容。

 现在我们再重新打开我们的容器看里面有没有什么变化:

Docker学习笔记3(狂神)_第29张图片

这就可以看出我们的文件是双向绑定的。

好处:我们以后修改只需要在本地修改即可,容器内会自动同步!

 实战:安装MySql

思考:MySQL的数据持久化的问题

Docker学习笔记3(狂神)_第30张图片

1.获取镜像:

2.运行容器,需要做数据挂载

启动我们的Mysql

注:

Docker学习笔记3(狂神)_第31张图片

Docker学习笔记3(狂神)_第32张图片

Docker学习笔记3(狂神)_第33张图片

这样我们在本地也能进行连接打开了。

 Docker学习笔记3(狂神)_第34张图片

我们的本地就已经有mysql了。这就可以证明和我们的docker容器是同步的了。

然后我们再去在navicat中去创建一个数据库表test。

再去虚拟机中看一下:

 

那我们去把我们的mysql删除掉呢?

 Docker学习笔记3(狂神)_第35张图片

我们的数据依旧没有丢失,这就实现了一个数据的持久化。

Docker学习笔记3(狂神)_第36张图片

Docker学习笔记3(狂神)_第37张图片

查看所有的volume(卷)的名字:

 这种-v只写了容器内的路径,没写容器外的路径,就是我们的匿名挂载。

具名挂载:

通过-v 卷名:容器内路径

Docker学习笔记3(狂神)_第38张图片

 查看一下卷:

Docker学习笔记3(狂神)_第39张图片

所有的docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/xxxx/_data

Docker学习笔记3(狂神)_第40张图片 我们通过具名挂载可以方便的找到我们的一个卷,大多数情况下在使用具名挂载

如何确定我们的是匿名挂载,具名挂载还是我们指定路径挂载

-v 容器内路径 匿名挂载

-v 卷名:容器内路径 具名挂载

-v /宿主机路径::容器内路径 指定路径挂载

拓展:

Docker学习笔记3(狂神)_第41张图片

 初识Dockerfile

Dockerfile就是用来构建docker镜像的构建文件!命令脚本!先体验一下!

通过这个脚本可以生成镜像,镜像是一层一层的,脚本一个个的命令,每个命令都是一层!

Docker学习笔记3(狂神)_第42张图片

 Docker学习笔记3(狂神)_第43张图片

Docker学习笔记3(狂神)_第44张图片

 Docker学习笔记3(狂神)_第45张图片

然后我们去来启动我们自己的数据卷:

Docker学习笔记3(狂神)_第46张图片

Docker学习笔记3(狂神)_第47张图片

查看卷的挂载路径:

 

 Docker学习笔记3(狂神)_第48张图片

Docker学习笔记3(狂神)_第49张图片

测试一下刚才的文件是否同步出去了!

这种方式未来我们使用的非常多,因为我们通常会构建自己的镜像。

 假设构建镜像时没有挂载卷,要手动镜像挂载 -v 卷名:容器内路径!

数据卷容器

多个mysql同步数据!

Docker学习笔记3(狂神)_第50张图片

开启三个容器,用我们自己的数据卷去操作。

Docker学习笔记3(狂神)_第51张图片 Docker学习笔记3(狂神)_第52张图片

 然后我们再去创建第二个容器:

Docker学习笔记3(狂神)_第53张图片

 Docker学习笔记3(狂神)_第54张图片

我们就能看到数据的同步了。

我们再创建一个容器:

 

 

现在我们把容器1停止并删除:

 

 

但是我们的docker03还可以查看这个文件。

Docker学习笔记3(狂神)_第55张图片

Docker学习笔记3(狂神)_第56张图片

Docker学习笔记3(狂神)_第57张图片

你可能感兴趣的:(docker,学习)