您的位置:首页 > 汽车 > 新车 > 深圳有什么公司名称_山东企业站点seo_网络推广求职招聘交流群_网络营销课程介绍

深圳有什么公司名称_山东企业站点seo_网络推广求职招聘交流群_网络营销课程介绍

2025/1/8 15:27:05 来源:https://blog.csdn.net/liangmengbk/article/details/144933078  浏览:    关键词:深圳有什么公司名称_山东企业站点seo_网络推广求职招聘交流群_网络营销课程介绍
深圳有什么公司名称_山东企业站点seo_网络推广求职招聘交流群_网络营销课程介绍

情景概述

在一个docker中,部署两个MySQL容器,假如它们的数据都存储在自己容器内部的data目录中。这样的存储方式会有以下问题:

1.无法保证两个MySQL容器中的数据同步。

2.容器删除后,数据就会丢失。

基于以上问题,容器中的数据不能存储在容器内部。而是应该单独剥离出来,这时, Volume就派上用场了。

Volume是什么?

Volume就是在物理机上单独开辟的一个存储空间,以上面的情况为例,作为MySQL容器内部就不再进行数据存储。所有数据都存储在物理机的路径中,然后再通过Volume挂载到容器中,这样就形成了数据共享。两个MySQL容器共享同一份数据。当Volume数据变化,容器内部使用的时候就会跟随变化。

这样的方式可以解决多个容器数据共享和数据管理问题。

Volume使用案例

目标是启动三个tomcat容器实例,三个容器访问同一份文件,完成浏览器的访问。

当更改文件内容后,页面显示随之变化。

准备工作

1.需要先在docker中拉取tomcat镜像

docker pull tomcat

拉取tomcat镜像的作用是为页面访问提供中间件,关于tomcat更多操作,参考之前的文章:

Docker快速安装Tomcat-CSDN博客

2.将准备好的文件放到/usr/local路径下

webapps文件夹中的结构如下: 

index.html内容为:

I'm Volume Page??

创建容器并挂载数据卷

docker create --name webpage -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat /bin/true

创建一个名称为webpage的容器,容器基于tomcat镜像,只创建容器,但不运行。

-v 设置本地磁盘和容器内目录的对应关系(挂载数据卷),即/usr/local/webapps目录中的文件映射到/usr/local/tomcat/webapps目录中。

启动三个tomcat容器

docker run -p 8002:8080 --volumes-from webpage --name tomcat1 -d tomcat

docker run -p 8003:8080 --volumes-from webpage --name tomcat2 -d tomcat

docker run -p 8004:8080 --volumes-from webpage --name tomcat3 -d tomcat

启动一个名称为tomcat1的容器,容器基于tomcat镜像,这个容器外部访问端口为8002,对应到tomcat容器内部端口8080。

--volumes-from基于指定容器设置映射关系。

成功启动三个容器,容器名称分别是tomcat1、tomcat2、tomcat3

这三个容器因为都使用--volumes-from关键字设置了容器映射的路径,所以它们都对应到了物理机的/usr/local/webapps路径中。

查看容器挂载信息

docker inspect 容器编号

 

在输出结果中找到Mounts的节点,就可以看到挂载的信息。 

浏览器访问三个实例

访问三个端口,都可以正常显示。三个端口对应三个tomcat实例,通过Volume共享的方式,共享了同一份文件,这份数据是独立于容器的,在容器外部,只是通过命令进行了文件的映射。

这样做最大的好处是,当页面要进行修改操作,只需要改物理机上的文件就可以,不需要修改容器中的任何内容。

修改文件

下面进行演示,把index.html文件进行修改,然后再次访问。

 修改完文件后,需要重启容器。命令为:docker restart 容器ID或者容器名称

docker restart tomcat1

docker restart tomcat2

docker restart tomcat3

容器重启完毕后,再次访问tomcat实例

 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com