docker的数据管理

目录

一.如何管理docker容器中的数据

二.数据卷

2.1数据卷原理

2.2数据卷作用

2.3数据卷案例

三.数据卷容器

3.1数据卷容器的作用

3.2端口映射

一.如何管理docker容器中的数据

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

二.数据卷

2.1数据卷原理

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

    docker pull centos:7

  • 宿主机目录/var/www挂载到容器中的/data1。

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

2.2数据卷作用

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

2.3数据卷案例

复制代码
docker run -v /var/www:/data1 --name web1 -it centos:7     #-v选项可以在容器内创建数据卷
ls
echo "this is hehe" > /data1/abc.txt
exit
 
#返回宿主机进行查看
cat /var/www/1.txt

三.数据卷容器

3.1数据卷容器的作用

  • 让两个容器实现数据共享

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

  • php ---->mysql之间想要通讯,通过socket

    #创建一个容器作为数据卷容器
    docker run -it --name niuma3 -v /data1 -v /data2 centos:7 bash #创建并进入容器
    echo "this is niuma" > /data1/1.txt #容器内创建测试文件1
    echo "THIS IS niuma2" > /data2/2.txt #容器内创建测试文件1

    #使用--volumes-from来挂载test2容器中的数据卷到新的容器
    docker run -it --name niuma4 --volumes-from niuma3 centos:7 bash #创建并进入容器
    cat data1/1.txt #查看测试数据是否同步
    cat data2/2.txt

3.2端口映射

  • 在启动容器的时候,如果不指定对应的端口,在容器外是无法通过网络来访问容器内的服务。端口映射机制将容器内的服务提供给外部网络访问,实质上就是将宿主机的端口映射到容器中,使得外部网络访问宿主机的端口便可访问容器内的服务。

    docker run -d --name test1 -P nginx #随机映射端口(从32768开始)
    docker run -d --name test2 -p 43000:80 nginx #指定映射端口
    [root@localhost containers]# docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    ad869aa1016a nginx "/docker-entrypoint...." 19 seconds ago Up 18 seconds 0.0.0.0:43000->80/tcp, :::43000->80/tcp test2
    0afa76acdc9b nginx "/docker-entrypoint...." 34 seconds ago Up 33 seconds 0.0.0.0:32768->80/tcp, :::32768->80/tcp test1

    浏览器访问: http://192.168.40.23:43000. http://192.168.40.23:32768

相关推荐
dok12几秒前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》(4) devicefile 设备号相关
linux·运维·服务器
毛驴赶鹿21 分钟前
低配置服务器怎么搭建监控?Komari Docker部署与公网访问完整教程
运维·服务器·docker
Fu20672126 分钟前
结课项目考试
linux·运维·服务器
MXsoft61838 分钟前
## 信创运维2.0的“最后一公里”——国产设备“能用但不好用”,问题出在哪?
运维
Chengbei111 小时前
云安全漏洞挖掘SKILL、一站式云漏洞挖掘工具,支持S3爆破、IMDS探测、K8s检测与AK/SK权限利用
前端·人工智能·网络安全·云原生·容器·kubernetes·系统安全
公众号:fuwuqiBMC2 小时前
(转自“服务器BMC”)服务器BMC芯片——AST1840
运维·服务器·fpga开发
Ai拆代码的曹操2 小时前
K8s 调度器 predicate 阶段揭秘:为什么你的 Pod 总是堆在同一台机器
后端·容器
Ai拆代码的曹操2 小时前
手摸手排查:Pod CrashLoopBackOff 日志丢失问题,3 层兜底方案
后端·容器
爱网络爱Linux2 小时前
RHCSA+RHCE 10.0全新升级!红帽Ansible自动化运维
运维·自动化·ansible·rhce认证·rhel1o·linux10·rhce10
瞬间&永恒~3 小时前
【MySQL】练习5-1:配置慢查询日志
linux·运维·云原生