docker03-docker数据卷与网络

本文是Docker学习笔记的第三部分,主要探讨Docker数据卷(volume)的使用和网络配置。数据卷提供了容器数据持久化的方法,可以在容器间共享和重用,且不受容器生命周期影响。介绍了数据卷的创建、特点以及读写规则。同时,文章还讲解了Docker的网络模式,包括默认的bridge模式、host模式、none模式和container模式,以及如何创建自定义网络以实现容器间通过服务名通信。

Docker学习笔记三:Docker数据卷与网络

一、数据卷 – volume

Docker 容器内产生的数据默认都是存储在容器内部,当容器被删除后,容器内的数据也就被删除了。通常情况可以使用 docker cp命令进行数据拷贝和备份,这样不太方便,那么能不能让容器内产生的数据自动存储到宿主机呢?

毫无疑问,数据卷就是解决容器内数据持久化问题的。数据卷就是将容器内的数据保存到宿主机中,并且完全独立于容器的生命周期,即Docker不会在容器删除时删除其挂载的数据卷。

如何使用数据卷呢?

  • docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名
    – privileged=true 该命令使容器内root拥有真正的root权限(默认情况下是普通用户权限)

数据卷的特点

  • 数据卷可以在容器之间共享或重用数据
  • 卷中的更改可以直接实时生效
  • 数据卷的更改不会包含在镜像的更新中
  • 数据卷的生命周期一直持续到没有容器使用它为止

数据卷的读写规则映射

该规则只是针对容器而言,宿主机对数据卷是拥有读写权限的。

  • 读写(默认)
    • docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名
  • 只读:
    • docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

数据卷的继承和共享

  • 命令:docker run -it --privileged=true --volumes-from 父类 --name u2 镜像名

二、Network

Docker容器实例内默认网络IP是可能发生变化的。那么容器之间的通信就不能使用 IP:PORT 方式进行。

常用命令

  • docker network ls:查看网络
  • docker network inspect XXX网络名字:查看网络源数据
  • docker network rm XXX网络名字:删除网络
  • docker network create XXX网络名字:创建网络

网络模式类型

  1. bridge默认
    来自尚硅谷
    Docker在宿主机上虚拟出一个Docker容器网桥(docker0),Docker启动容器时,会根据docker0的网段分配给容器一个IP地址(Container-IP),并且docker0为每个容器的默认网关。此时同一宿主机内的容器都接入同一个网桥中,那么容器之间可以通过Container-IP直接通信。

  2. host
    容器不会获得一个独立的Network Namespace,而是和宿主机公用一个,即容器不会虚拟出自己的网卡而是使用宿主机的IP和端口
    来自尚硅谷

  3. none
    不会为容器进行任何的网络配置,即没有网卡、IP、路由等信息。

  4. container
    新建的容器和已经存在的一个容器共享一个网络ip配置而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。
    在这里插入图片描述
    ​ 若是指定共享容器停止运行了,那么该容器的IP也不存在了。

  5. 自定义网络

    上诉模式中,不同容器间的通信只能依靠IP地址,但这是不可靠的,那么有没有一种方式让容器可以通过服务名进行通信呢。自定义网络就可以实现这个需求。自定义网络本身维护了主机名和IP的对应关系

    使用步骤:

    • 创建自定义网络:docker network create muci_net
    • 运行容器并指定网络模式:docker run -d --network muci_net --name xxx 镜像名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值