美文网首页Linux学习之路我用 LinuxLinux
docker容器技术学习笔记(5)

docker容器技术学习笔记(5)

作者: 阳一yayi | 来源:发表于2018-08-24 15:22 被阅读0次

Docker 网络

Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看:

NETWORK ID          NAME                DRIVER              SCOPE
145ad1eae556        bridge              bridge              local
9bfdab5aff70        host                host                local
9c2a17659cb7        none                null                local

none 网络

故名思议,none 网络就是什么都没有的网络。挂在这个网络下的容器除了 lo,没有其他任何网卡。容器创建时,可以通过 --network=none 指定使用 none 网络。

一些对安全性要求高并且不需要联网的应用可以使用 none 网络。比如某个容器的唯一用途是生成随机密码,就可以放到 none 网络中避免密码被窃取。

host 网络

连接到 host 网络的容器共享 Docker host 的网络栈,容器的网络配置与 host 完全一样。可以通过 --network=host 指定使用 host 网络。

直接使用 Docker host 的网络最大的好处就是性能,如果容器对网络传输效率有较高要求,则可以选择 host 网络。当然不便之处就是牺牲一些灵活性,比如要考虑端口冲突问题,Docker host 上已经使用的端口就不能再用了。

Docker host 的另一个用途是让容器可以直接配置 host 网路。比如某些跨 host 的网络解决方案,其本身也是以容器方式运行的,这些方案需要对网络进行配置,比如管理 iptables。

应用最广泛也是默认的 bridge 网络

Docker 安装时会创建一个 命名为 docker0 的 linux bridge。如果不指定--network,创建的容器默认都会挂到 docker0 上。可以通过 docker network inspect bridge 看一下 bridge 网络的配置信息。

容器网络拓扑结构如图所示:


容器创建时,docker 会自动从 172.17.0.0/16 中分配一个 IP,这里 16 位的掩码保证有足够多的 IP 可以供容器使用。

user-defined 网络

Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan。overlay 和 macvlan 用于创建跨主机的网络。

  • bridge 驱动创建

bridge 驱动创建类似前面默认的 bridge 网络

docker network create --drive bridge my_net

查看新增网桥

brctl show 名称为新建 bridge 网络 my_net 的短 id

执行 docker network inspect 查看一下 my_net 的配置信息。

创建网段时指定 --subnet 和 --gateway 可以指定 IP 网段。

docker network create --drive bridge --subnet 172.22.16.0/24 --gateway 172.22.16.1 my_net2
网关在 my_net2 对应的网桥上

容器要使用新的网络,需要在启动时通过 --network 指定:

docker run -it --network=my_net2 busybox

通过--ip 容器指定一个静态 IP:

docker run -it --network=my_net2 --ip=172.22.16.8 busybox
注:只有使用 --subnet 创建的网络才能指定静态 IP。

当前 docker host 的网络拓扑结构:


相关文章

  • docker容器技术学习笔记(5)

    Docker 网络 Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network...

  • Docker的介绍

    Docker学习笔记 什么是容器 依托于linux内核的虚拟化技术 什么是Docker 能够把应用程序自动部署到容...

  • docker容器day1

    docker容器 1:什么是容器? 2:容器和虚拟化的区别 3:容器技术的发展过程: 4:docker的安装 5:...

  • Docker 学习笔记(一):基础概念与基本操

    这篇笔记分成四个部分:1. Docker 容器是什么2. Docker 容器与虚拟机技术的对比3. Docker ...

  • Docker底层技术

    Docker容器技术已经发展了好些年,在很多项目都有应用,线上运行也很稳定。整理了部分Docker的学习笔记以及新...

  • Docker底层技术

    Docker容器技术已经发展了好些年,在很多项目都有应用,线上运行也很稳定。整理了部分Docker的学习笔记以及新...

  • docker生态容器

    Docker容器生态 Docker生态:容器核心技术、平台技术、支持技术 容器核心技术:指的是container在...

  • day05(docker容器)

    1、什么是容器? 2、容器和虚拟化的区别 3、容器技术的发展过程 4、docker的安装 5、docker的主要组...

  • 第一章 容器技术和Docker 简介

    在慕课网学习Docker课程,做个笔记。 一、容器技术的起源、发展 1.1 虚拟化技术 在很久以前,想要在线上服务...

  • 01-Docker基础入门

    Docker容器概念 Docker容器的基础为Linux容器(LXC)技术,轻量化级别的技术。Docker为C/S...

网友评论

    本文标题:docker容器技术学习笔记(5)

    本文链接:https://www.haomeiwen.com/subject/lnibiftx.html