当前位置: 首页 > news >正文

Docker持久化固定容器IP

基于Docker引擎创建Docker容器,在默认条件下创建容器是bridge桥接模式,启动容器IP地址是DHCP随机分配并且递增的,而且容器之间可以互相通信,网段也是固定的。
当Docker容器一旦关闭再次启动,就会导致容器的IP地址再次重新随机分配,而且有部分容器在部署的时候是不需要互相通信的,所以使用固态ip,保证想要通信的容器在同一网段,并且容器重启之后ip地址也不会随之改变。
根据如上Pipework脚本可以给Docker容器配置固定IP地址,但是重启也会丢失IP地址,有没有方法实现重启容器IP也不丢失呢。持久化固定IP地址操作方法如下:
1)安装桥接工具和Docker-py程序,命令操作如下;

#pip install docker-py
yum install python-docker*
#安装桥接扩展包;
yum install bridge-utils -y

2)从Github仓库下载Docker-static-ip固定IP的脚本,操作命令如下:

#下载docker-static-ip脚本;
git clone https://github.com/lioncui/docker-static-ip#部署docker-static-ip程序;
mv docker-static-ip /usr/local/
#启动Docker引擎服务;
systemctl start docker.service
#后台启动duration脚本;
cd /usr/local/docker-static-ip/
python duration.py
#查看Python脚本进程;
ps -ef|grep -aiE duraion

在这里插入图片描述
3)新增配置br0桥接网络;
vi ifcfg-ens33内容修改为如下:

cat>/etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
BRIDGE="br0"
IPADDR=192.168.1.151
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
EOF

vi ifcfg-br0内容如下:

cat>/etc/sysconfig/network-scripts/ifcfg-br0 <<EOF
DEVICE="br0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Bridge"
IPADDR=192.168.1.151
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
EOF

重启网络

systemctl restart network

启动docker服务,即可;

service docker restart

4)基于本地CentOS7镜像启动CentOS云主机,网络模式选择–net=none即可,操作指令如下:

docker run -itd --net=none --privileged --name=jfedu-vm01 buhuipao/centos7-ssh
docker exec -it jfedu-vm01 /bin/bash
yum install net-tools.x86_64 -y

5)在/usr/local/docker-static-ip/目录下,将需要给CentOS容器配置的静态IP写入containers.cfg文件即可,内容如下:
jfedu-vm01,br0,192.168.1.101/24,192.168.1.2
在这里插入图片描述
6)查看Docker容器的IP地址,此时就是192.168.1.101,命令如下:
docker exec jfedu-vm01 ifconfig
在这里插入图片描述
7)重启Docker容器,再次查看容器的IP地址,还是192.168.1.101,IP固定成功。

docker restart jfedu-vm01
docker exec jfedu-vm01 ifconfig

在这里插入图片描述
8)通过CRT或者Xshell远程登录创建的CentOS云主机,命令操作如图所示:
在这里插入图片描述

相关文章:

Docker持久化固定容器IP

基于Docker引擎创建Docker容器&#xff0c;在默认条件下创建容器是bridge桥接模式&#xff0c;启动容器IP地址是DHCP随机分配并且递增的&#xff0c;而且容器之间可以互相通信&#xff0c;网段也是固定的。 当Docker容器一旦关闭再次启动&#xff0c;就会导致容器的IP地址再次重…...

Filter和Interceptor和Aspect

Filter过滤器 过滤器可以拦截到方法的请求和响应(ServletRequest request, ServletResponse response),并对请求响应做出过滤操作。 过滤器 依赖于servlet容器。在实现上&#xff0c;基于函数回调&#xff0c;它可以对几乎所有请求进行过滤&#xff0c;一个过滤器实例只能在 容…...

maven 项目依赖加载不出来

1.依赖加载不出来&#xff0c;查看pom.xml放的位置是否对了 2.1下载mvn到本地&#xff0c;进行解压 2.2新建系统变量MAVEN_HOME&#xff0c;值直接指向安装目录D:\apache-maven-3.9.2 2.3path变量中增加&#xff1a;%MAVEN_HOME%\bin 2.4若仓库位置不在C盘用户下&#xff0…...

Python collections模块

1.简介 collections 是 python 的内置模块&#xff0c;提供了很多方便且高性能的关于集合的操作&#xff0c;掌握这些知识有助于提高代码的性能和可读性。 2.常用功能 2.1 namedtuple 功能详解 namedtuple() 返回一个新的元组子类&#xff0c;且规定了元组的元素的个数&…...

Qt-学习 QJson协议解析

内容来源于哔站视频&#xff0c;仅仅作为自己的笔记记录&#xff0c;感兴趣的小伙伴去原作品大call(此处给作者三鞠躬&#xff09;&#xff0c;Json以及Json在Qt中的使用 【Qt/C/C】_哔哩哔哩_bilibili 目录 1、Json介绍&#xff1a; 1.1 Json的定义 1.2 Json的数据格式 1…...

Git的安装与连接

在软件开发中&#xff0c;版本控制是非常重要的一环。Git是一种流行的版本控制工具&#xff0c;它可以帮助开发者管理代码并协作开发。本文将介绍如何连接Git。 首先&#xff0c;我们需要安装Git。在Windows上&#xff0c;可以从Git官网下载安装程序。在Linux上&#xff0c;可…...

MySQL5.0完全卸载教程

一、停止MySQL服务 在系统服务中找到mysql服务并停止即可。 二、卸载mysql应用程序 在控制面板中卸载mysql应用程序 三、删除mysql文件夹 找到mysql一开始安装路径的文件夹&#xff0c;然后删除掉该整个文件夹。 四、删除注册表 &#xff08;1&#xff09;按winR键&#xff0c;…...

rpm包编译工具rpmbuild使用介绍

rpmbuild是一个命令行工具&#xff0c;用于构建RPM&#xff08;Red Hat Package Manager&#xff09;软件包。RPM是一种用于在Linux系统上安装和管理软件的标准格式。rpmbuild可以将源代码或二进制文件打包成RPM软件包&#xff0c;并为之配置元数据、依赖项、文件列表等。rpmbu…...

vue3中使用cherry-markDown步骤

附cherry-markDown官网及api使用示例 官网&#xff1a;GitHub - Tencent/cherry-markdown: ✨ A Markdown Editor api&#xff1a;Cherry Markdown API 考虑到复用性&#xff0c;我在插件的基础上做了二次封装&#xff0c;步骤如下&#xff1a; 1.下载 npm install cherry-ma…...

数据建模方法论及实施步骤

了解数据建模之前首先要知道的是什么是数据模型。数据模型&#xff08;Data Model&#xff09;是数据特征的抽象&#xff0c;它从抽象层次上描述了系统的静态特征、动态行为和约束条件&#xff0c;为数据库系统的信息表示与操作提供一个抽象的框架。 一、概要&#xff1a;数据…...

AUTOSAR知识点 之 COM (一):基础知识

目录 1、概述 1.1、简介 1.2、各模块依赖关系 1.2.1、PDUR关系 1.2.2、RTE 2、SPEC解读...

自媒体品牌宣传策略注意哪些,是怎么种草的

众所周知&#xff0c;小红书平台有着极其强大的种草能力。不论新品牌孵化&#xff0c;还是大品牌扩张&#xff0c;都会将目光投注到这里&#xff0c;那么小红书的品牌宣传策略究竟是怎样的呢。 一、聚焦种草能力 前面已经提到了&#xff0c;小红书平台是一个以“种草”为特色的…...

网络带宽管理

网络某一部分的带宽使用过多&#xff0c;可能会影响整个网络的性能&#xff0c;带宽问题甚至会影响业务关键型服务并导致网络停机。在企业中保持稳定的网络性能可能具有挑战性&#xff0c;因为采用数字化的网络可扩展性和敏捷性应该与组织的发展同步。随着基础设施的扩展、新应…...

SpringCloud(27. Redis 和 ZK 分布式锁)

上一篇 &#xff1a;26.分布式服务框架Dubbo面试题简析 1. redis 分布式锁 官方叫做 RedLock 算法&#xff0c;是 redis 官方支持的分布式锁算法。这个分布式锁有 3 个重要的考量点&#xff1a; 互斥&#xff08;只能有一个客户端获取锁&#xff09;不能死锁容错&#xff08;…...

运行时栈帧结构与方法调用

1 运行时栈帧结构 Java虚拟机以方法作为最基本执行单元&#xff0c;“栈帧”则是用于支持虚拟机进行方法调用和方法执行背后的数据结构。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。 1.1 局部变量表 局部变量表的容量以变量槽为最小单位。 Java…...

VSCode +gdb+gdbserver远程调试arm开发板

一、下载编译器 从ARM官网下载gcc-arm编译器&#xff0c;编译器中自带gdb和gdbserver&#xff0c;可以省去自己编译。 注&#xff1a;gdb是电脑端程序&#xff0c;gdbserver是arm开发板程序 arm官网链接&#xff1a;https://developer.arm.com/downloads/-/arm-gnu-toolchain-d…...

阿里云大学考试python中级题目及解析-python高级

阿里云大学考试python高级题目及解析 1.以上代码输出结果为 a [1,2,3,None,(),[],] print(len(a))A.4 B.5 C.6 D.syntax error C 列表中元素可以存储任意数据类型 2.将字符串s 中的字母a替换为字母&#xff0c;以下代码正确的是 A.s.swap(“b”&#xff0c;“a”) B.s.r…...

基于FPGA的车牌识别

基于FPGA进行车牌识别 基于FPGA进行车牌识别 1. 文件说明2. 程序移植说明3. 小小的编程感想 本项目的原理讲解视频已经上传到B站“基于FPGA进行车牌识别”。 本项目全部开源&#xff0c;见我本人的Github仓库“License-Plate-Recognition-FPGA”。 1. 文件说明 小技巧&…...

Qt - 进程/线程 补充进阶

Qt - 进程/线程 补充进阶 多线程quit / eixt / terminate QThread例子tdicethread 类.h.cpp widget 类.h.cpp 线程同步 多线程 quit / eixt / terminate quit 应用程序或线程安全的取消事件处理队列的执行&#xff0c;并随后使线程退出&#xff08;如果只希望结束线程并保证它…...

spring笔记

spring 和 springboot的区别 自动配置原理 beanFactory接口和ApplicationContext接口 两个都是 IOC 容器 ApplicationContext接口是BeanFactory接口实现类的子类 功能&#xff1a; ApplicationContext扩展BeanFactory BeanFactoryApplicationContext控制反转国际化支持 …...

FLUX.2-klein-base-9b-nvfp4系统资源监控与优化:保障稳定运行

FLUX.2-klein-base-9b-nvfp4系统资源监控与优化&#xff1a;保障稳定运行 最近在星图GPU平台上部署了FLUX.2-klein-base-9b-nvfp4模型&#xff0c;跑起来效果确实不错。但用了一段时间后&#xff0c;我发现一个问题&#xff1a;模型服务偶尔会变慢&#xff0c;甚至卡住不动。一…...

最近顶级图像算法论文精读:CVPR 2025《MaIR》如何让 Mamba 更适合图像恢复?

最近顶级图像算法论文精读&#xff1a;CVPR 2025《MaIR》如何让 Mamba 更适合图像恢复&#xff1f; 摘要 最近看了一篇很值得分析的图像算法论文&#xff1a;MaIR: A Locality- and Continuity-Preserving Mamba for Image Restoration。这篇论文发表在 CVPR 2025&#xff0c;关…...

3个步骤解决老Mac无法升级新系统的困境:OpenCore Legacy Patcher完整指南

3个步骤解决老Mac无法升级新系统的困境&#xff1a;OpenCore Legacy Patcher完整指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 想象一下&#xff0c;你…...

BepInEx完整指南:3分钟学会Unity游戏模组开发与插件注入

BepInEx完整指南&#xff1a;3分钟学会Unity游戏模组开发与插件注入 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx BepInEx是Unity游戏模组开发的终极解决方案&#xff0c;作为一…...

【限时解密】2026奇点大会AI测试赛道TOP3方案供应商技术白皮书精要(含性能压测原始数据+误报率基线值),仅开放至大会倒计时72小时

第一章&#xff1a;2026奇点智能技术大会&#xff1a;AI原生测试自动化 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次将“AI原生测试自动化”确立为核心议题&#xff0c;标志着测试范式从脚本驱动向语义理解与自主演化的根本性跃迁。系统不再依赖人工编排的断言…...

DS4Windows深度解析:专业级PS4手柄Windows配置实战指南

DS4Windows深度解析&#xff1a;专业级PS4手柄Windows配置实战指南 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows DS4Windows是一款功能强大的开源工具&#xff0c;专门为PlayStation Du…...

DRM框架深度解析:从fbdev到atomic commit的显存绑定全流程

DRM框架深度解析&#xff1a;从fbdev到atomic commit的显存绑定全流程 在Linux图形驱动开发领域&#xff0c;DRM&#xff08;Direct Rendering Manager&#xff09;框架作为现代显示子系统的核心&#xff0c;其显存管理机制直接影响图形性能与稳定性。本文将系统剖析DRM框架中显…...

5个内容访问解决方案:突破数字阅读限制的非技术人员实践指南

5个内容访问解决方案&#xff1a;突破数字阅读限制的非技术人员实践指南 在信息爆炸的时代&#xff0c;优质内容往往被付费墙阻隔&#xff0c;成为知识获取的障碍。本文将系统解析内容访问限制的技术原理&#xff0c;对比5种主流内容访问解决方案的适用场景与实施难度&#xff…...

DVWA文件上传漏洞通关实录:从Low到High,手把手教你三种绕过姿势(附Burp Suite实战)

DVWA文件上传漏洞实战指南&#xff1a;从基础绕过到高级技巧 在Web安全领域&#xff0c;文件上传漏洞一直是最常见也最具破坏力的漏洞类型之一。DVWA&#xff08;Damn Vulnerable Web Application&#xff09;作为经典的漏洞练习平台&#xff0c;其文件上传模块设置了从低到高三…...

数据同化终极指南:零基础快速掌握EnKF算法的完整实战教程

数据同化终极指南&#xff1a;零基础快速掌握EnKF算法的完整实战教程 【免费下载链接】DA-tutorials Tutorials on data assimilation (DA) and the EnKF 项目地址: https://gitcode.com/gh_mirrors/da/DA-tutorials 数据同化&#xff08;Data Assimilation, DA&#xf…...