我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式:
host模式,使用--net=host指定。
container模式,使用--net=container:NAME_or_ID指定。
none模式,使用--net=none指定。
bridge模式,使用--net=bridge指定,默认设置。
默认选择bridge的情况下,容器启动后会通过DHCP获取一个地址,这可能不是我们想要的,本文介绍在centos7 docker环境下使用pipework脚本对容器分配固定IP。
代码如下 | 复制代码 |
# brctl show # docker run -idt --net=none --name test1 registry.fjhb.cn/centos6 /bin/bash # brctl show # docker-enter test1 # ip a |
代码如下 | 复制代码 |
# wget https://github.com/jpetazzo/pipework/archive/master.zip # unzip pipework-master.zip # cp pipework-master/pipework /usr/local/bin/ # chmod +x /usr/local/bin/pipework # pipework kbr0 test1 172.17.1.3/[email protected] # brctl show # docker-enter test1 # ip a # route -n |
Pipework有个缺陷,容器重启后IP设置会自动消失,需要重新设置。