docker 数据管理 与容器互联

简介: docker 数据管理 与容器互联

一      Docker 的数据管理

管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。

 

1, 数据卷

1.1 数据卷是什么

数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于 Linux 下对目录进行的 mount 操作。

 

1.2  数据卷 创建方式

注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。

/var/www  是宿主机的目录    /data1  是容器内的目录

docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash    
  
#-v 选项可以在容器内创建数据卷
1.3  数据卷演示

启动test53 容器   将宿主机 /opt/sanguo/文件夹    和 容器内 /data/ 关联

可以看到 宿主机  会自动生成  对应的文件夹

进入容器的挂载目录   创建数据

可以看到 容器挂载目录的数据     宿主机对应的目录也有数据了

2,   数据卷容器

2.1  数据卷容器 是什么

如果需要在容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。

 

2.2  如何创建 数据卷容器
#创建一个容器作为数据卷容器
docker run --name web2 -v /data1 -v /data2 -it centos:7 /bin/bash
echo "this is web2" > /data1/abc.txt
echo "THIS IS WEB2" > /data2/ABC.txt
 
 
#使用 --volumes-from 来挂载 web2 容器中的数据卷到新的容器
docker run -it --volumes-from web2 --name web3 centos:7 /bin/bash
cat /data1/abc.txt
cat /data2/ABC.txt
2.3   数据卷容器演示

启动容器 test59   建两个共享数据的文件夹  data1  和data2

进到容器 test59  发现data1  和data2 都自动创建了      这边做一些数据源

使用 --volumes-from 来挂载   容器中的数据卷到新的容器

进入新容器  test60  查看数据  同步成功

二      容器互联(使用centos镜像

1, 容器互联是什么

容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息。

 

2,如何   容器互联

#创建并运行源容器取名web1
docker run -itd -P --name web1 centos:7 /bin/bash 
  
#创建并运行接收容器取名web2,使用--link选项指定连接容器以实现容器互联
docker run -itd -P --name web2 --link web1:web1 centos:7 /bin/bash      
#--link 容器名: 连接的别名
 
#进web2 容器, ping web1
docker exec -it web2 bash
ping web1

3, 演示容器互联

开启容器test61   再开启随机端口

再开启容器 62     连接容器 test61:test61    (容器名:别名)

进入容器62  可以ping  容器61

注意! 此处只做了容器62去连接61   没做61 连接62   所以61是ping 不通62得

三     总结

数据卷类似挂载

数据卷容器    类似文件共享

容器互联   让每个有独立空间的容器   也可以互相看到

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
相关文章
|
4月前
|
监控 Linux 调度
【赵渝强老师】Docker容器的资源管理机制
本文介绍了Linux CGroup技术及其在Docker资源管理中的应用。通过实例演示了如何利用CGroup限制应用程序的CPU、内存和I/O带宽使用,实现系统资源的精细化控制,帮助理解Docker底层资源限制机制。
427 6
|
4月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
613 5
|
6月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
999 108
|
7月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
552 57
|
4月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
7月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
489 59
|
6月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
419 16