docker系列之网络配置

docker 网络配置

  docker 安装后, 会自动在系统做一个网桥配置 docker0 . 其容器都会分配到此网桥配置下的独立, 私有 IP 地址.

  如果你要自己配置桥接, 也可以把 docker0 删除掉. docker run 的时候使用参数 -b 指定你自己配置的网桥.

  docker 容器的网络, 是相对于实体机的私有网络. 在网桥配置下, 只要知道 IP 地址, 各容器, 及实体机本身都可以自由通信.

  但是在实体机的网卡网络下, docker 容器就不可见了. 要让容器被外界访问到, 最简单的一个方法就是直接做端口映射, 把容器的端口和实体机端口成对连通. docker run 的时候 使用 -p 参数就可以指定一对端口映射:

docker run -d -p 5000:22 -p 18888:8888 zys:common

  上面的命令, 在启动容器时, 指定的端口映射表示实体机 5000 端口映射到容器 22 端口, 同时 18888 端口映射到容器 8888 端口. 这样做之后, 就可以通过实体机的 5000 端口 ssh 登录到容器了:

ssh [email protected] -p5000
ssh [email protected] -p5000

  docker run 时还有其它参数可用到控制容器的网络配置:

    -p
端口映射
    -h
设置主机名, 这个主机名是仅容器自己可见的.
    --link=CONTAINER_NAME:ALIAS
把另一个容器的地址配置成一个 ALIAS 主机名.
    --dns
配置 DNS 服务器.

原文地址:https://www.cnblogs.com/yinfutao/p/9198545.html

时间: 2024-11-05 17:19:56

docker系列之网络配置的相关文章

docker之高级网络配置

网络基础:     docker0:        docker 启动时,会在宿主机(HOST)上创建一个docker0的虚拟网桥(交换机).本质上docker0是个birdge,主要提供container和宿主机之间的数据转发. docker0的ip地址是docker在启动是分配的本地私有网段,常见的172.17.0.0/16.同时container中也会分配同网段的一个ip地址. veth pair:        当创建一个container时,同时也会创建一对veth端口.当向其中一个端

docker的高级网络配置——映射和桥接

啦啦啦啦,我是卖报的小行家,大风大雨的满街跑

Docker NAT iptables实现 及网络配置

Docker NAT iptables实现 默认情况下,容器可以主动访问到外部网络的连接,但是外部网络无法访问到容器 容器访问外部实现 容器所有到外部网络的连接,源地址都会被 NAT 成本地系统的 IP 地址(即docker0地址).这是使用 iptables 的源地址伪装操作实现的 查看主机的 NAT 规则 [[email protected] sshd_dockerfile]# iptables -t nat -vnL Chain POSTROUTING (policy ACCEPT 0 p

docker网络配置方法总结

docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这上面的其他网卡间自动转发数据包的虚拟以太网桥,它可以使容器和主机相互通信,容器与容器间通信.问题是,如何让位于不同主机上的docker容器可以通信.如何有效配置docker网络目前来说还是一个较复杂的工作,因而也涌现了很多的开源项目来解决这个问题,如flannel.Kubernetes.weave.

Docker Network Configuration 高级网络配置

Network Configuration TL;DR When Docker starts, it creates a virtual interface named docker0 on the host machine. It randomly chooses an address and subnet from the private range defined by RFC 1918 that are not in use on the host machine, and assign

docker学习笔记3 - 网络配置

参考: http://www.infoq.com/cn/articles/docker-network-and-pipework-open-source-explanation-practice http://www.oschina.net/translate/docker-network-configuration host 模式 配置 --net=host 原理 docker使用linux的namespace进行资源隔离,支持CPU namespace,network namesapce等.

使Docker提供对外服务的网络配置(桥接与端口)

前沿: docker 启动容器后,如何对外服务?   希望大家看了这篇文章后有些帮助. docker的有关网络问题没怎么搞清楚,请教了下邓磊同学,感谢 ! Docker生成的容器,一般会给你生成一个ip地址,这个ip地址是和docker0的地址是一个ip段的. 通过ip a命令 ,咱们可以看到docker0的ip和子网的范围 . 大家会发现除了docker0 还有一个vethc 数字的网卡,这个也算是虚拟网卡绑在桥接上的. 我们创建一个容器,并且暴露22端口. 这个22端口的意思是对外暴露了22

Docker 学习笔记【3】 Docker 仓库、数据卷、数据卷容器,网络基础实操。高级网络配置学习

Docker 学习笔记[4] 高级网络配置实操,实战案例实验 =========================================================================== Docker 学习笔记[2] Docker 仓库实操,创建私有仓库,实操数据卷.数据卷容器,记录开始 =========================================================================== 被格式化的脚本内容: #开头代表

Docker - 网络配置

前言 Docker 为我们提供了多种类型的网络模式,我们可以根据自己的需求使用系统默认的网络或者创建自己的网络. Docker 默认的网络 在我们安装完 Docker enginee 后, 会自动生成3种默认的网络模式. 我们可以运行命令查看: $ docker network ls bridge - 使用Docker 0 网络, containers只能在一个Host上面进行通信.在创建Container时,如果不特殊指定网络,会默认使用bridge.创建在bridge网络上面的contain