IDC知识库
IDC领域专业知识百科平台
首页 > 云服务器知识

云服务器知识docker容器如何连接公共网络

容器云强势上线 上万Linux镜像供自由选择!

docker容器如何连接公共网络?默认情况下,容器可以建立到外部网络的连接,但是外部网络无法连接到容器。docker 允许通过外部访问容器或容器互联的方式来提供网络服务。

外部访问容器:容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。

要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)来收发数据包;此外,如果不同子网之间要进行通信,需要路由机制。

Docker 中的网络接口默认都是虚拟的接口。虚拟接口的优势之一是转发效率较高。Linux 通过在内核中进行数据复制来实现虚拟接口之间的数据转发,发送接口的发送缓存中的数据包被直接复制到接收接口的接收缓存中。对于本地系统和容器内系统看来就像是一个正常的以太网卡,只是它不需要真正同外部网络设备通信,速度要快很多。

Docker 容器网络就利用了这项技术。它在本地主机和容器内分别创建一个虚拟接口,并让它们彼此连通(这样的一对接口叫做 veth pair)。

创建网络参数

Docker 创建一个容器的时候,会执行如下操作:

创建一对虚拟接口,分别放到本地主机和新容器中;

本地主机一端桥接到默认的 docker0 或指定网桥上,并具有一个唯一的名字,如 veth65f9;

容器一端放到新容器中,并修改名字作为 eth0,这个接口只在容器的名字空间可见;

从网桥可用地址段中获取一个空闲地址分配给容器的 eth0,并配置默认路由到桥接网卡 veth65f9。

完成这些之后,容器就可以使用 eth0 虚拟网卡来连接其他容器和其他网络。

可以在 docker run 的时候通过 –net 参数来指定容器的网络配置,有4个可选值:

–net=bridge 这个是默认值,连接到默认的网桥。

–net=host 告诉 Docker 不要将容器网络放到隔离的名字空间中,即不要容器化容器内的网络。此时容器使用本地主机的网络,它拥有完全的本地主机接口访问权限。容器进程可以跟主机其它 root 进程一样可以打开低范围的端口,可以访问本地网络服务比如 D-bus,还可以让容器做一些影响整个服务器系统的事情,比如重启。

–net=container:NAME_or_ID 让 Docker 将新建容器的进程放到一个已存在容器的网络栈中,新容器进程有自己的文件系统、进程列表和资源限制,但会和已存在的容器共享 IP 地址和端口等网络资源,两者进程可以直接通过 lo 环回接口通信。

–net=none 让 Docker 将新容器放到隔离的网络栈中,但是不进行网络配置。之后,用户可以自己进行配置。

西部数码容器云是通过docker技术,在集群服务器上部署容器服务实现,拥有上万Linux镜像,功能强大、轻量灵活,可轻松作集群服务,自由轻松搭建私有网络。

高性价比的容器云产品链接 https://www.west.cn/paas/container/

声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:hyg@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » docker容器如何连接公共网络
  • 日销500+
    基础型云服务器

    2核CPU

    2G内存

    50G硬盘

    2M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥106 原价¥116

  • 日销500+
    超值型云服务器

    2核CPU

    4G内存

    50G硬盘

    2M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥156 原价¥171

  • 日销500+
    通用型云服务器

    4核CPU

    4G内存

    50G硬盘

    2M带宽

    独立IP

    分布式存储

    适合电商、论坛类网站

    ¥203 原价¥223

分享到:更多 ()
    • 企业邮箱 全新登场
    • 虚拟主机
    • 云服务器

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址

    中国领先的互联网域名及云服务提供商

    为您提供专业域名知识,域名交易知识,云服务器知识,虚拟主机知识讲解

    域名注册云服务器