docker 学习笔记(2)

docker的学习笔记(2)

docker的学习笔记(1)

数据管理

数据卷介绍

什么是数据卷?

就是将宿主机的某个目录,映射到容器中,作为数据存储的目录,我们就可以在宿主机对数据进行存储。数据卷(Data Volumes):容器内数据直接映射到本地主机环境

数据卷特性
    1、数据卷可以在容器之间共享和重用,本地与容器间传递数据更高效;
    2、对数据卷的修改会立马有效,容器内部与本地目录均可;
    3、对数据卷的更新,不会影响镜像,对数据与应用进行了解耦操作;
    4、卷会一直存在,直到没有容器使用。
挂载数据卷

docker run 加参数 -v 用来挂载一个到多个数据卷到当前运行的容器中,使宿主机和容器之间共享一个目录,若本地路径不存在,docker也会自动创建

    对于数据卷来说可以挂载目录,也可以挂载普通文件
    挂载目录:创建容器并挂载目录(宿主机目录要是绝对路径)
    注:不建议直接挂载文件故不演示

docker run -itd –name [dst容器名字] -v [宿主机目录]:[容器目录] [镜像名称] [命令(可选)]
创建数据卷容器

数据卷容器
什么是数据卷容器

需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载。
数据卷容器(Data Volume Containers):使用特定容器维护数据卷
简单点:数据卷容器就是为其他容器提供数据交互存储的容器

多个容器同时挂载数据卷
1.创建数据卷容器
2.其他容器挂载数据卷容器
注:数据卷容器本身不需要启动,若启动也可工作

1.创建数据卷容器
2.创建两个或以上的容器,并挂载数据卷容器
这里写图片描述
3.确认同时挂载成功
这里写图片描述

网络管理

网络管理主要是两个方面: 端口映射和网络模式

端口映射

默认情况下,容器和主机之间网络是隔离的,我们可以通过端口映射的方式,将容器中的端口,映射到主机的某个端口上。这样我们就可以通过主机的ip+port的方式来访问容器里的内容

随机映射

参数 -P :随机映射的端口由docker随机分配,端口不会有冲突
默认随机映射
docker run -d -p image_name
打开一个普通的镜像,并查看网络状态
这里写图片描述
打开一个默认映射的镜像,并查看网络状态
这里写图片描述
效果显示
这里写图片描述
指定主机随机映射
~$ docker run -d -p [宿主机ip]::[容器端口] –name [容器名称]
这里写图片描述

指定映射

指定端口映射
docker run -d -p [主机ip]:[主机端口]:[容器端口] –name [容器名字] [镜像名称]
这里写图片描述
指定多端口映射
docker run -d -p [主机端口1]:[容器端口1] -p [主机端口2]:[容器端口2] –name [容器名称] [镜像名称]
这里写图片描述
指定端口协议映射
docker run -d -p [主机ip]:[主机端口]:[容器端口]/udp –name [容器名称] [镜像名称]
这里写图片描述

网络管理基础

基础命令

命令简述
connect将一个容器连接到一个网络
create创建一个网络
disconnect从网络断开一个容器
inspect在一个或多个网络上显示详细信息
ls网络列表
prune删除所有未使用的网络
rm删除一个或多个网络。
inspect查看网络内部信息
port查看网络端口信息

example:
这里写图片描述
这里写图片描述

网络模式

1.host模式

众所周知,Docker使用了Linux的Namespaces技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Network Namespace提供了一份独立的网络环境,包括网卡、路由、Iptable规则等都与其他的Network Namespace隔离。一个Docker容器一般会分配一个独立的Network Namespace。但如果启动容器的时候使用host模式,那么这个容器将不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。

2.container模式

在理解了host模式后,这个模式也就好理解了。这个模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。

3.none模式

这个模式和前两个不同。在这种模式下,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等。

4 bridge模式

bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值