Docker的数据管理(上)

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介: 1、管理docker容器中数据2、容器互联(使用centos镜像)

1、管理docker容器中数据:


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


数据卷:


是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,

从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于Linux下对目录进行的mount操作。


docker pull centos: 7
注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。
docker run -it --name test6 -v /var/www:/data1 centos:7 bash
#-v选项可以在容器内创建数据卷
ls
echo "this is test6 file" > /data1/test.txt
exit
#返回宿主机进行查看
cd /var/www/
cat test.txt


2387773-20211011160006147-1794567035.png


数据卷容器:


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


#创建一个容器作为数据卷容器
docker run -it --name test66 -v /data1 -v /data2 centos:7 bash      #创建并进入容器
echo "this is test 100" > /data1/test.txt                #容器内创建测试文件1
echo "THIS IS TEST100" > /data2/TEST.txt             #容器内创建测试文件1
#使用--volumes-from来挂载test2容器中的数据卷到新的容器
docker run -it --name test99 --volumes-from test66 centos:7 bash    #创建并进入容器
cat data1/test.txt                          #查看测试数据是否同步
cat data2/TEST.txt


2387773-20211011160019030-2090623478.png


端口映射: 


在启动容器的时候,如果不指定对应的端口,在容器外是无法通过网络来访问容器内的服务。端口映射机制将容器内的服务提供给外部网络访问,


实质上就是将宿主机的端口映射到容器中,使得外部网络访问宿主机的端口便可访问容器内的服务


docker run -d --name test1 -P nginx
#随机映射端口( 从32768开始)  大P
docker run -d --name test2 -p 43000:80 nginx
#指定映射端口   小p


2、容器互联(使用centos镜像):


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


#创建并运行源容器取名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<br><br>


2387773-20211012160413779-1189528903.png

相关实践学习
MySQL基础-学生管理系统数据库设计
本场景介绍如何使用DMS工具连接RDS,并使用DMS图形化工具创建数据库表。
相关文章
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
135 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
1月前
|
关系型数据库 数据管理 应用服务中间件
【赵渝强老师】Docker的数据持久化
在生产环境中使用Docker时,为了实现数据的持久化和共享,可以通过数据卷(Data Volumes)和数据卷容器(Data Volume Containers)两种方式来管理数据。数据卷是一个独立于容器的挂载目录,可以跨多个容器共享和重用。数据卷容器则是一种特殊容器,用于维护数据卷,便于数据迁移和共享。本文通过示例详细介绍了这两种方法的使用步骤。
|
2月前
|
存储 Kubernetes Docker
|
2月前
|
存储 安全 数据管理
Docker中实现数据持久化
【10月更文挑战第8天】
46 1
|
2月前
|
存储 数据库 Docker
|
2月前
|
存储 安全 Docker
docker中数据持久化(Volumes)
【10月更文挑战第3天】
69 4
|
2月前
|
存储 Kubernetes 数据库
docker数据持久化问题
【10月更文挑战第4天】
33 2
|
2月前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
【10月更文挑战第1天】使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
73 3
|
3月前
|
存储 数据管理 应用服务中间件
Docker的数据管理实战篇
关于Docker数据管理实战的教程,涵盖了Docker数据卷的使用、特点、场景以及数据卷容器的概念和应用。
69 13
Docker的数据管理实战篇
|
4月前
|
存储 Docker 容器
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?