• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > Docker 网络工作原理详解

Docker 网络工作原理详解

作者:小秦师傅 字体:[增加 减小] 来源:互联网

本文主要包含Docker,网络,Docker,网络工作原理简单介绍,Docker,网络工作原理等服务器相关知识,小秦师傅 希望可以进行参考

Docker 网络工作原理

当Docker server也就是docker daemon启动时,会自动创建一个名字是docker0的bridge,每当docker创建一个Container时,会在主机上面创建一个名字是veth*的ethernet 端口,并把这个eth*加入到docker0的bridge,在container中会自动创建一个名字是eth0的ethernet端口,这个eth0和veth*会形成一个类似管道的对,一一对应。

配置DNS

docker是如何分配每个container的hostname和DNS配置的,可以通过在contain中mount命令看出一些东西:

mount

...
/dev/disk/by-uuid/5f3d0920-98a8-434a-9c02-8163dccf6c62 on /etc/resolv.conf type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/disk/by-uuid/5f3d0920-98a8-434a-9c02-8163dccf6c62 on /etc/hostname type ext4 (rw,relatime,errors=remount-ro,data=ordered)
/dev/disk/by-uuid/5f3d0920-98a8-434a-9c02-8163dccf6c62 on /etc/hosts type ext4 (rw,relatime,errors=remount-ro,data=ordered)
...

docker run的-h 可以配置container的hostname,可以通过-h HOSTNAME或者--hostname=HOSTNAME来配置,docker会把HOSTNAME写入/etc/hostname

例如:

xiaogang@Ubuntu:~/shadowsocks$ sudo docker run -t -i --hostname ubuu --rm ubuntu:14.04 /bin/bash

root@ubuu:/# cat /etc/hostname
ubuu

--link=CONNTAINER_NAMEorID:ALIAS,通过这个选项会在/etc/hosts中添加一个ALIAS,指向CONTAINER_NAMEorID, 无需知道具体的IP地址,可以直接使用ALIAS代替。

例如:

--dns=IP_ADDRESS, 会在/etc/resolv.conf的server标签中添加一个IP_ADDRESS

--dns-search=DOMAIN,会在/etc/resolv.conf的search标签中添加一个DOMAIN,如果一个example.com添加到search标签中,当container需要查找一个host的IP时,host.example.com同时也会被查找。

container中的/etc/resolv.conf是从主机中的/etc/resolv.conf拷贝而来,只不过是把主机本地的nameserver过滤掉,如果过滤之后没有任何的nameserver,docker会把google公共nameserver,8.8.8.8和8.8.4.4加入namerserver中。当主机的resolv.conf修改之后会通知container修改

container之间的通信和container和外部之间的通信

1.需要设置ip_forward系统参数,必须设置为1

$ sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 0
$ sysctl net.ipv4.conf.all.forwarding=1
$ sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 1

2.需要设置iptables,允许它们之间的通信

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

您可能感兴趣的文章:

  • docker 学习笔记之docker连接网络的设置
  • 深入理解docker的四种网络方式
  • 详解Centos7 下建立 Docker 桥接网络
  • Docker 网络模式(四种)详细介绍
  • Docker 手动配置容器网络实例详解
  • Docker为网络bridge模式指定容器ip的方法
  • Docker 多主机网络通信详细介绍
  • 详解Docker中VLAN网络模式的配置
  • Docker基础 :网络配置详解
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • docker registry私服搭建的方法
  • 详解在Docker容器内外互相拷贝数据的方法
  • Citrix XenServer 6.1 的安装与配置方法
  • Docker Registry 私有仓库搭建详细步骤
  • 详解Docker容器运行多条命令(supervisor)
  • CentOS系统中一键安装Openstack图文教程
  • VirtualBox虚拟机网络设置四种模式详细说明
  • 详解VMware 虚拟机中添加新硬盘的方法
  • docker创建redis镜像的方法
  • Docker 教程之基本概念(镜像,容器,仓库)详解

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • VirtualBox复制的虚拟机无法获取IP的完美解决办法
    • 详解使用docker搭建hadoop分布式集群
    • Docker Registry 私有仓库搭建详细步骤
    • Docker自动部署Apache Tomcat的方法
    • Docker容器访问宿主机网络的方法
    • VMware下CentOS6.4网卡设置为桥接模式静态IP配置方法详解
    • 详解如何在 docker 容器中捕获信号
    • Docker 实用技巧总结
    • Linux中docker的使用方法讲解
    • 优化提高VMware虚拟机运行速度的技巧(详细图文教程)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有