Docker容器固定IP分配

我们在使用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设置会自动消失,需要重新设置。

时间: 2024-10-01 07:19:24

Docker容器固定IP分配的相关文章

使用pipework配置docker容器固定ip

首先讲一下docker的网络模式: 我们使用docker run创建容器时,可以使用--net选项指定容器的网络模式,docker一共有4中网络模式: 1:bridge模式,--net=bridge(默认). 这是dokcer网络的默认设置.安装完docker,系统会自动添加一个供docker使用的网桥docker0,我们创建一个新的容器时,容器通过DHCP获取一个与docker0同网段的IP地址.并默认连接到docker0网桥,以此实现容器与宿主机的网络互通.如下: 2:host模式,--ne

pipework安装 及分配容器固定IP

OS:centos7.0 第一步: [email protected] ~]# yum -y install git 第二步: [[email protected] ~]# git clone https://github.com/jpetazzo/pipework.git 第三步: [[email protected] ~]# cp -rp pipework/pipework /usr/local/bin/ 第四步:查看images [[email protected] ~]# docker

为docker配置固定ip

docker默认使用bridge模式,通过网桥连接到宿主机,而容器内部的ip则从网桥所在的ip段取未用的ip.这样做一个不方便的地方在于容器内部的ip不是固定的,想要连接容器时只能通过映射到宿主机的端口,因而有很多项目使用overlay来为docker提供网络的配置,比如Pipework.Flannel.Kubernetes.Weave.opencontrail等. 想要使用overlay来为docker配置网络,需要首先了解下docker的网络模式: --net=bridge — The de

Docker设置固定ip地址

Docker安装后,默认会创建下面三种网络类型: $ docker network ls NETWORK ID NAME DRIVER SCOPE 9781b1f585ae bridge bridge local 1252da701e55 host host local 237ea3d5cfbf none null local 启动 Docker的时候,用 --network 参数,可以指定网络类型 docker run -itd --name test1 --network bridge --

docker 设置固定ip、配置网络

Docker安装后,默认会创建下面三种网络类型 $ docker network ls NETWORK ID NAME DRIVER SCOPE 9781b1f585ae bridge bridge local 1252da701e55 host host local 237ea3d5cfbf none null local 启动 Docker的时候,用 --network 参数,可以指定网络类型 docker run -itd --name test1 --network bridge --i

一键创建docker 容器 指定ip,指定主机名,指定容器名称,指定镜像创建容器

#!/bin/bash # #date :Wed May  3 15:51:34 CST 2017 #author: gaogd  # ## 说明: ip为容器的ip,hostname为容器主机名,已经容器识别名称,hostname=itemname-servername-owner-ip ## 可以自己选择镜像,如果参数中木有指定镜像名称,那么就在脚本中展示出来,让用户选择, ## 如果用户也不选择,就是默认的sshd进行           ## 用法: sh createcontainte

docker容器端口IP规划及端口动态扩容

docker容器一旦启动,参数就无法改变,生产环境中最常变的就是端口映射,为了解决这个问题,那么首先就要规划好,本文列出了两种端口规划方案,如果后续维护中出现了要增加端口映射的场景,本文也给出了动态端口映射扩容方案. 1.单IP多容器映射规划方案 此种环境适用只有单个IP环境下,如云主机等. 1.1 端口映射规划表格:     规划不同的端口段,映射到容器从而对外提供服务. 主机名称 ssh映射 mysql映射 nginx映射 redis映射 redis-test 51000 22 51001

查看docker容器的IP地址

docker inspect node1 |grep IPAddress |tail -1 |awk '{print $2}' |tr '"' " " |tr ',' ' '       # 可以用容器id或名称 方法二: docker inspect --format '{{ .NetworkSettings.IPAddress }}' node1 # 容器id或者名称 显示所有容器的IP docker inspect --format='{{.Name}} - {{ran

DHCP服务配置(固定IP分配)

DHCP介绍 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境中的主机动态的获得IP地址.Gateway地址.DNS服务器地址等信息,并能够提升地址的使用率.具体详细参照百度百科DHCP简单来说就是自动化动态分配IP. 实现: 配置150-200地址池的动态分配,150固定分配给一个win7的客户端 环境: Server:Centos7.0 IP:10.30.40.