首页 > 其他分享 >docker容器配置独立ip

docker容器配置独立ip

时间:2022-11-07 10:43:55浏览次数:85  
标签:容器 ip pipework 地址 IP地址 docker

  一般安装docker后都会通过端口转发的方式使用网络,比如 “-p 2294:22” 就将2294抓发到22端口来提供sftp服务,这样使用起来没有问题。但端口号很难记忆,如果前边有nginx等抓发工具,可以将2294再转回22,但有没有方法直接给docker容器配置独立ip地址呢?

一、以下两种方式都需要安装 pipework

  其作用是指定物理网段容器IP地址

cd /usr/src
# 若没有wget命令,安装 yum install -y wget
wget -O pipework-master.zip https://codeload.github.com/jpetazzo/pipework/zip/master
# 若没有unzip命令,安装 yum install -y unzip zip
unzip pipework-master.zip
cp -p pipework-master/pipework /usr/local/bin/

 

  以下两个种方式重启后ip地址都会丢失,所以每次重启后都要重新分配ip地址

二、通过虚拟网卡br0桥接

 1、修改宿主机物理网卡配置

vi /etc/sysconfig/network-scripts/ifcfg-em1

  修改两个配置

BOOTPROTO=none # 配置不启动dhcp
BRIDGE=br0 # 配置网桥

  

docker容器配置独立ip_ip地址

2、增加网桥设备 br0

vi /etc/sysconfig/network-scripts/ifcfg-br0

  在其中增加如下内容

DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp

  配置完成后重新启动网络,此时 br0 设备就使用的物理网卡 em1 作为桥接通信。

 3、创建容器(创建了一个centos7的容器)

docker run -itd --net=none --name=test01 ansible/centos7-ansible /bin/bash # 其中 --net=none不设置网络

4、给创建的容器制定物理IP地址

pipework br0 test01 192.168.2.235/[email protected]
# 网桥 容器名 IP地址 网关地址

5、进入容器查看ip地址

docker exec -it test01  /bin/bash # 进入test01容器
yum install -y net-tools # 安装ifconfig
ifconfig

  此时就应该看到配置的  192.168.2.235 这个ip。

  此种方法的问题是,之后每个容器都需要指定一个ip地址。

三、通过物理网卡桥接

 

3.1 绑定物理ip 

1、创建容器(创建了一个centos7的容器)

docker run -itd --net=none --name=test02 ansible/centos7-ansible /bin/bash # 其中 --net=none不设置网络

2、给创建的容器制定物理IP地址,其中eth0跟据实际情况修改

pipework eth0 test02 192.168.2.234/[email protected]
# 网桥 容器名 IP地址 网关地址

3、进入容器查看ip地址

docker exec -it test02  /bin/bash # 进入test01容器
yum install -y net-tools # 安装ifconfig
ifconfig

  此时就应该看到配置的  192.168.2.234 这个ip。

  此种方法的问题是,之后每个容器都需要指定一个ip地址。

3.2 使用内网地址172.x.x.x

1、创建容器(创建了一个centos7的容器)

docker run -itd --name=test03 ansible/centos7-ansible /bin/bash

2、进入容器查看ip地址

docker exec -it test03  /bin/bash # 进入test01容器
yum install -y net-tools # 安装ifconfig
ifconfig

四、重启后固定ip

  以上防范重启后需要使用shell脚本的方式重新分配ip地址,也可使用 docker-static-ip 固定ip

实现与pipework一样,只是用Python把整个指定的IP的操作变成后台进程,把 [容器,网桥,IP地址,网关]写进containers.cfg 。
程序会根据配置文件来自动设置容器的IP地址,每10秒检查一次,如果有新增的就会自动设置。
当重启容器时,IP地址消失,程序会根据配置文件再次自动分配。

  使用说明代码下载地址参见 ​​https://github.com/lioncui/docker-static-ip​

 

 

  

 

参考文档:

​  http://blog.51cto.com/12832314/1929936?utm_source=oschina-app​

​  http://www.jb51.net/article/118396.htm​




标签:容器,ip,pipework,地址,IP地址,docker
From: https://blog.51cto.com/u_15862829/5828046

相关文章

  • 蜻蜓.fm付费vip音频资源下载器!
    每天工作完了,晚上就不想看书,就想着听书了,不至于眼睛太累。 但是虽然购买了蜻蜓.fm软件会员,可是蜻蜓fm并不能下载到电脑上进行播放。也不能支持导出到车载音箱里面收听。......
  • docker安装kuboard
    目录一、kuboard安装二、域名、反向代理配置三、参考一、kuboard安装kuboard可以部署在kubernetes集群之上,也可以部署在集群之外。作为管理多集群的图形化工具建议部署在......
  • 定时清理测试docker的镜像
    背景接到一个需求,具体是定时清理测试平台的前端后端产生的镜像文件实现步骤思路先实现清理docker的镜像的shell脚本编写,后依赖操作系统的定时任务管理并且加上使之生效......
  • ip_hash
    ip_hash 什么是ip_hash?ip_hash是根据用户请求过来的ip,然后映射成hash值,然后分配到一个特定的服务器里面;使用ip_hash这种负载均衡以后,可以保证用户的每一次会话都只会......
  • docker容器中安装vim
    1.进入容器dockerexec-it<容器名称/id>bash 2.进入apt-get配置目录cd/etc/apt 3.执行备份命令cpsources.listsources.list.bak 4.查看版本cat/etc/o......
  • 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务
    目录4docker-compose安装FastDFS4.1docker-compose-fastdfs.yml4.2nginx.conf4.3storage.conf4.4测试4docker-compose安装FastDFS需要注意:network_mode必须是ho......
  • 解决macOS上的docker空间不足无法解压镜像
    症状(base)workspace@keting~%dockerpullgitlab/gitlab-ce:latestlatest:Pullingfromgitlab/gitlab-ceeaead16dc43b:Pullcomplete51e1710361b6:Pullcomp......
  • .net core在centos上使用libgdiplus库图像处理
    #Seehttps://aka.ms/containerfastmodetounderstandhowVisualStudiousesthisDockerfiletobuildyourimagesforfasterdebugging.FROMmcr.microsoft.com/......
  • 史上最详细Docker安装Redis (含每一步的图解)实战
    不仅教你安装,还教你删除。每一行命令都带图解,绝对能懂。大家对搭建RedisClustr(Redis集群)感兴趣的,可以看看这篇文章Docker搭建RedisCluster集群环境希望对大家有所......
  • docker清空网络配置
    docker网络故障相同的ip绑定给了两个网卡,需要清空网络ipaddr|grep10.79inet10.79.106.1/24brd10.79.106.255scopeglobalbr-a0ebe04d1152i......