Docker容器固定IP分配

咱们在使用docker run建立Docker容器时,能够用--net选项指定容器的网络模式,Docker有如下4种网络模式:git

host模式,使用--net=host指定。github

container模式,使用--net=container:NAME_or_ID指定。docker

none模式,使用--net=none指定。centos

bridge模式,使用--net=bridge指定,默认设置。bash

 

默认选择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

wKioL1TApH3hRJV8AAZAFA_0TlE585.jpg

# 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/24@172.17.1.1
# brctl show
# docker-enter  test1
# ip a
# route -n

wKiom1TAo-OSBhVXAAhkhRPYqaE935.jpg

Pipework有个缺陷,容器重启后IP设置会自动消失,须要从新设置。ide

相关文章
相关标签/搜索