首页 > 其他分享 >Docker数据管理

Docker数据管理

时间:2024-07-22 17:26:57浏览次数:11  
标签:容器 a2 宿主机 a1 数据管理 Docker docker bash

目录

数据卷(Data Volumes)

容器和宿主机的数据共享

1.拉取centos镜像

2.创建容器

3.输入内容验证

经过宿主机,实现容器间的数据共享

1.创建a2容器,并且挂载同一个宿主机目录

2.输入内容验证

挂载文件

1.创建a2容器,并且挂载文件

2.只读操作

数据卷容器

1.创建a1容器作为数据卷容器

2.挂载a1容器的数据卷到新的容器a2,a3

3.进入a1容器,并输入内容

4.进入a2 a3容器验证

容器互联


数据卷(Data Volumes)

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

容器和宿主机的数据共享

1.拉取centos镜像

docker pull centos:7

2.创建容器

宿主机目录/var/www 挂载到a1容器中的/data

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

ls /var/www/html
docker run -id --name a1 -v /var/www/html:/data centos:7 bash  
#-v选项可以在容器内创建数据卷也会在宿主机创建目录

3.输入内容验证

docker exec -it a1 bash         #进入容器
echo '123456' > /data/jlh.txt   #输入内容到共享目录中
 
#宿主机上查看
cd /var/www/html
cat jlh.txt

经过宿主机,实现容器间的数据共享

1.创建a2容器,并且挂载同一个宿主机目录

宿主机目录/var/www 挂载到a2容器中的/mnt

docker run -id --name a2 -v /var/www/html:/mnt centos:7 bash
docker exec -it a2 bash

2.输入内容验证

#a2容器上输出
echo 'abcdef' > /mnt/zx.txt

#宿主机上查看
cd /var/www/html/
cat zx.txt

#a1容器上查看
cd /data/
cat zx.txt

挂载文件

1.创建a2容器,并且挂载文件

docker run -id --name a3 -v /var/www/html/zx.txt:/mnt/zx.txt centos:7 bash
docker exec -it a3 bash
cat /mnt/zx.txt
 
#宿主机共享目录
echo 'scj is shuaige!!' > /var/www/html/zx.txt

#a3容器共享目录下查看
cat /mnt/zx.txt

2.只读操作

docker run -id --name a4 -v /var/www/html/zx.txt:/mnt/zx.txt:ro centos:7 bash  #ro代表只允许只读操作

数据卷容器

不经过宿主机,实现容器间的数据共享

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

1.创建a1容器作为数据卷容器

docker run -id --name a1 -v /data1 -v /data2 centos:7 bash

2.挂载a1容器的数据卷到新的容器a2,a3

#使用 --volumes-from 来挂载 a1 容器中的数据卷到新的容器
docker run -id --name a2 --volumes-from a1 centos:7 bash
docker run -id --name a3 --volumes-from a1 centos:7 bash

3.进入a1容器,并输入内容

docker exec -it a1 bash
echo 'jlh' > data1/zx1.txt
echo 'zx' > data2/zx2.txt
exit   

4.进入a2 a3容器验证

#a2容器操作
docker exec -it a2 bash
ls data1
ls data2

#a3容器操作
docker exec -it a3 bash
ls data1
ls data2

容器互联

使用centos镜像

  • 默认情况下docker容器重新创建后,对应的容器IP地址可能会改变,这样如果两个容器之间通信就会变得非常麻烦,每次都要修改通信的IP地址
  • 容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息
#创建并运行接收容器取名a4,使用--link选项指定连接容器以实现容器互联
docker run -id --name a4 --link a3:xy101 centos:7 bash   #--link 容器名:连接的别名
 
docker exec -it a4 bash
ping a3
ping xy101

重启容器测试(重启后ip会发生改变)

标签:容器,a2,宿主机,a1,数据管理,Docker,docker,bash
From: https://blog.csdn.net/2401_83784772/article/details/140495372

相关文章

  • 如何减少 Docker 日志大小,有效节省磁盘空间
    Docker是一个强大的容器化平台,它允许开发者在一个独立的环境中运行应用程序。虽然Docker提供了很多便利,但在实际使用过程中,日志文件可能会迅速增长,占用大量的磁盘空间。本文将详细介绍如何减少Docker日志大小,从而有效节省磁盘空间。Docker日志机制Docker使用日志......
  • docker 基础镜像损坏
    dockerrun以后查看日志,提示报错,服务不能正常启动.#dockerlogs-f6413standard_init_linux.go:211:execuserprocesscaused"nosuchfileordirectory"standard_init_linux.go:211:execuserprocesscaused"nosuchfileordirectory"st......
  • Docker & Ubuntu & Milvus 2.4 windows 详细安装攻略
    目录背景安装DockerDestop下载docker破解之法启动dockerdestop OS镜像前置条件dism启动WSL服务命令......
  • docker
    -----createredhat8.1-------20.212.105.2110.3.0.5k8s-node1node1/K8s-node1pass-----installdocker------https://docs.docker.com/engine/install/centos/yuminstall-yyum-utilsyum-config-manager--add-repohttps://download.docker.com/linux/centos/d......
  • 在构建Docker时执行yum -y install gcc报错解决方案
    1、在构建docker时,执行yum-yinstallgcc报一下错误 2、解决方案:更换镜像执行以下指令:mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup  wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.rep......
  • docker-compose部署kafka-ui部署以及使用
    1.docker-compose配置脚本version:"3"services:kafka-ui:image:provectuslabs/kafka-ui:v0.7.2container_name:kafka-uihostname:kafka-uiprivileged:truerestart:alwaysenvironment:-DYNAMIC_CONFIG_ENABLED=true......
  • 在docker中找不到pandas
    我对码头工人很陌生。我可以在我的机器上成功运行python文件,但是Docker无法识别pandas库。这是我的Docker文件:FROMpythonWORKDIR/appCOPY./appCMD["python3","fisherlog_corrected.py"]错误消息如下:Traceback(mostrecentcalllast):File"/ap......
  • Ubuntu本地安装Docker
    Ubuntu本地安装Docker目录Ubuntu本地安装Docker查看Ubuntu系统版本代号安装修改镜像源官方文档:InstallDockerEngineonUbuntu|DockerDocsUbuntu18.04Docker安装包Ubuntu20.04Docker安装包Ubuntu22.04Docker安装包Ubuntu24.04Docker安装包查看Ubuntu系统版本......
  • docker安装nginx
    下载镜像dockerpullnginx 启动nginx容器dockerrun--restart=always--name=nginx-p80:80-dnginx启动后访问一下试试: 宿主机创建挂载目录我们就在home文件夹下创建bianen/nginx:mkdir-p/home/bianen/nginx复制配置文件到宿主机的挂载目录dockercp......
  • 基于Docker安装elasticsearch和kibana 8.14.3
    需要先安装好Docker和DockerCompose安装的是单机版本的elasticsearch一、安装elasticsearch8.14.3复制下面的内容到elasticsearch-compose.yaml中services:elasticsearch:image:docker.elastic.co/elasticsearch/elasticsearch:8.14.3container_name:ela......