• 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
What's Hot

机械模具加工公司网站设计案例

24 10 月, 2023

快速原型公司案例

24 10 月, 2023

陶瓷加工网站案例

24 10 月, 2023
Facebook Twitter Instagram
  • 中文
  • English
Facebook Twitter Instagram
VPSEO VPSEO
  • 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
VPSEO VPSEO
Home»中文»docker容器配置独立ip
中文

docker容器配置独立ip

chrispengcnBy chrispengcn7 8 月, 2021没有评论1 Min Read
Facebook Twitter Pinterest LinkedIn Tumblr Email
Share
Facebook Twitter LinkedIn Pinterest Email

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

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

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

1
2
3
4
5
6
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、修改宿主机物理网卡配置

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

修改两个配置

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

2、增加网桥设备 br0

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

在其中增加如下内容

1
2
3
4
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp

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

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

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

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

1
2
pipework br0 test01 192.168.2.235/24@192.168.2.1
#       网桥 容器名     IP地址         网关地址

5、进入容器查看ip地址

1
2
3
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的容器)

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

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

1
2
pipework eth0 test02 192.168.2.234/24@192.168.2.1
#       网桥 容器名     IP地址         网关地址

3、进入容器查看ip地址

1
2
3
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的容器)

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

2、进入容器查看ip地址

1
2
3
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

https://blog.csdn.net/xitongfengxi/article/details/52249988

https://blog.csdn.net/fgf00/article/details/52575500

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

https://www.cnblogs.com/xuezhigu/p/8257129.html

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
chrispengcn
  • Website

Related Posts

mStream – Linux下搭建可随时随地传输音乐的个人流媒体服务器

7 8 月, 2021
Add A Comment

Leave A Reply Cancel Reply

*

code

导航
  • 首页
  • 关于我们
  • 服务项目
  • 项目案例
  • 博客文章
  • 联系我们
博客
  • 服务器运维
  • 服务器安装
  • nginx
  • PHP
  • WordPress
  • Python
  • Javascript
  • SEO
  • 电子商务
  • 大数据采集
  • 宝塔面板
  • 数据库
  • 电子商务
  • 虚拟化
  • 阿里云
导航
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们
最新文章
  • 机械模具加工公司网站设计案例
  • 快速原型公司案例
  • 陶瓷加工网站案例
  • CNC数控加工日文网站案例
  • 触摸一体机数字标牌厂家网站案例
关于我们
关于我们

广州纬来科技有限公司
联系地址:广东省广州市番禺区富华中路富源二街18号合和大厦809

QQ : 13602156
Email : 13926026058@139.com
Contact: +86 13926026058

Facebook Twitter YouTube LinkedIn
© 2025 广州纬来科技有限公司 粤ICP备2023105857号-2
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们

Type above and press Enter to search. Press Esc to cancel.