docker容器设置静态IP与宿主机同一网段通信

很早以前弄过docker容器设置静态ip地址以及容器与容器之间通信,用的不多所以没有记录下来。

今天在网上看到个文章关于设置静态ip地址的。就自己实战下。对了还有个pipework也可以设置。。

操作系统环境

[email protected]:~# cat /etc/issue
Ubuntu 14.04.3 LTS \n \l

宿主机(系统采用ubuntu-14.04.1-server-amd64)的网络采用桥接模式(默认是DHCP模式,还有一种模式就是静态IP),网桥的网段与物理网段相同。目前的物理网段为192.168.75.0/24,网关是192.168.75.2,物理网卡设备为eth0

编辑配置文件/etc/network/interfaces,自定义网桥br0,修改的内容如下

[email protected]:~# tail -n8 /etc/network/interfaces
auto br0iface
br0 inet static    
address 192.168.75.131    
netmask 255.255.255.0    
gateway 192.168.75.2    
bridge_ports eth0    
bridge_stp off    
dns-nameservers 192.168.75.2

保存退出后,重启网络

[email protected]:~# ifdown -a && ifup -a

使用ifconfig命令查看网络接口信息,宿主机ip地址192.168.75.131

网桥配置好后,然后就是配置docker网络配置

  • 容器启动网络模式必须为none,用-net=none指定,示例如下
[email protected]:~# docker run -itd --name  x6  --net=none ubuntu /bin/bash
142cbe651cb7289edbc0fa8804e135908c75fb7ac26cf474f55c5e7786049bfb

注:docker容器ID比较长可以简写即可,使用docker ps也可以看到容器ID,示例如下

  • 给新运行的容器设置静态IP地址,网上有个哥们使用脚本的方式配置IP然后输入参数即可,我是直接使用它的scripts,142cbe651cb7容器ID,24位掩码,192.168.75.2网关。示例如下
[email protected]:~# sh static_ip.sh 142cbe651cb7 192.168.75.199 24 192.168.75.2

ping一下给容器x6设置的静态ip192.168.75.199

  • 进入容器名字为x6,查看下ip地址

注:docker容器重启后IP地址就米了

脚本内容如下

时间: 2024-10-27 11:33:37

docker容器设置静态IP与宿主机同一网段通信的相关文章

为Docker容器设置静态IP

此文已由作者袁欢授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 创建docker容器 docker run -it --name=yh -h yh --net=none debian:sshd bash   ### 确保使用--net=none参数,此时新建的容器内不会创建网卡 docker ps 此时登录容器查看IP,会发现没有eth0网卡: [email protected]:/# ifconfig -alo        Link encap:Local Loop

docker容器分配静态IP

最近因为工作要求需要用学习使用docker,最后卡在了网络配置这一块.默认情况下启动容器的时候,docker容器使用的是bridge策略比如: docker run -ti ubuntu:latest /bin/bash 等效于 docker run -ti --net=bridge ubuntu:latest /bin/bash bridge策略下,docker容器自动为我们分配了一个IP地址,并连接到docker0的网桥上.但这里有一个问题,这个IP地址并不是静态分配的,这对我们的对容器的实

Docker设置静态IP

创建docker容器 docker run -it --name=yh -h yh --net=none debian:sshd bash   ### 确保使用--net=none参数,此时新建的容器内不会创建网卡 docker ps 此时登录容器查看IP,会发现没有eth0网卡: [email protected]:/# ifconfig -a lo        Link encap:Local Loopback            inet addr:127.0.0.1  Mask:25

Docker1.12让容器使用和宿主机同一个网段

步骤一:创建网络$ docker network create -d macvlan --subnet=172.16.0.0/24 --gateway=172.16.0.1 -o parent=eno16777736 mynet548d79fe04c613d3ca180e8689f2207f71534020bc39566d62d0b5aeb67fc8b5 参数解析:-d macvlan  加载kernel的模块名--subnet 宿主机所在网段--gateway 宿主机所在网段网关-o pare

zbb20171223 vm12 Vmware虚拟机设置静态IP地址

Vmware虚拟机设置静态IP地址 一.安装好虚拟后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子网掩码和网关,后面修改静态IP会用到. 二.检查宿主机VM8 网卡设置,打开网络和共享中心→ 更改适配器设置→,在VMware Network Adapter VMnet8上单击右键,选择属性按钮打开属性对话框. 三.在虚拟机右下角,点击网络适配器按钮,右键选择断开连接,然后再重新连接,确保刚才的设置生

VMware虚拟机 安装centos7并设置静态ip 连接外网

首先下载VMware虚拟机:http://xzc.197746.com/VMware-Workstation-12.5.9.zip 然后下载centos7镜像:http://vault.centos.org/ 硬件:因为是在宿主机上运行虚拟化软件安装centos,所以对宿主机的配置有一定的要求.最起码I5CPU双核.硬盘500G.内存4G以上. 2.虚拟机准备 1.打开VMwear选择新建虚拟机 2.典型安装与自定义安装 典型安装:VMwear会将主流的配置应用在虚拟机的操作系统上,对于新手来很

Docker安装的Nginx如何代理宿主机的服务

1.在安装Docker的时候,会在宿主机安装一个虚拟网关 docker0,查询docker0的IP地址 ip addr show docker0 2.配置docker上安装的nginx server { listen 80; server_name www.test.co; location / { # 设置最大允许上传单个的文件大小 client_max_body_size 100m; proxy_redirect off; proxy_set_header Host $host; proxy

CentOs 设置静态IP 方法

在做项目时由于公司局域网采用自动获取IP的方式,导到每次服务器重启主机IP都会变化.为了解决这个问题,我参考了http://blog.sina.com.cn/s/blog_537977e50100qhb5.html的文章然后根据自己的情况设置静态IP解决了这个问题,处理方式如下: 1.修改网卡配置 编辑:vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0 BOOT

win7设置虚拟网卡以及如何设置静态IP

首先来说明一下我用的虚拟机是VMware-workstation-6.5.1物理机平台是Win7旗舰版(说实在现在很多教程都还是以古老的XP系统来讲解的我以我就试着在Win7下小试一下.),人家都说嵌入式并不难,但是为什么还是有很多对嵌入式感兴趣的小伙伴最后放弃了呢?以我的拙见可能就是大家对linux系统(温馨提示:此处我说的Linux系统是指PC机上的.)的不熟悉导致的,有些小伙伴就问了这个学嵌入式怎么跑到Linux系统了呢,多方面的原因其中最重要的是因为我们图便宜-系统开源免费呗!既然我们选