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容器,在默认条件下创建容器是bridge桥接模式,启动容器IP地址是DHCP随机分配并且递增的,而且容器之间可以互相通信,网段也是固定的。 当Docker容器一旦关闭再次启动,就会导致容器的IP地址再次重…...
Filter和Interceptor和Aspect
Filter过滤器 过滤器可以拦截到方法的请求和响应(ServletRequest request, ServletResponse response),并对请求响应做出过滤操作。 过滤器 依赖于servlet容器。在实现上,基于函数回调,它可以对几乎所有请求进行过滤,一个过滤器实例只能在 容…...
maven 项目依赖加载不出来
1.依赖加载不出来,查看pom.xml放的位置是否对了 2.1下载mvn到本地,进行解压 2.2新建系统变量MAVEN_HOME,值直接指向安装目录D:\apache-maven-3.9.2 2.3path变量中增加:%MAVEN_HOME%\bin 2.4若仓库位置不在C盘用户下࿰…...
Python collections模块
1.简介 collections 是 python 的内置模块,提供了很多方便且高性能的关于集合的操作,掌握这些知识有助于提高代码的性能和可读性。 2.常用功能 2.1 namedtuple 功能详解 namedtuple() 返回一个新的元组子类,且规定了元组的元素的个数&…...
Qt-学习 QJson协议解析
内容来源于哔站视频,仅仅作为自己的笔记记录,感兴趣的小伙伴去原作品大call(此处给作者三鞠躬),Json以及Json在Qt中的使用 【Qt/C/C】_哔哩哔哩_bilibili 目录 1、Json介绍: 1.1 Json的定义 1.2 Json的数据格式 1…...
Git的安装与连接
在软件开发中,版本控制是非常重要的一环。Git是一种流行的版本控制工具,它可以帮助开发者管理代码并协作开发。本文将介绍如何连接Git。 首先,我们需要安装Git。在Windows上,可以从Git官网下载安装程序。在Linux上,可…...
MySQL5.0完全卸载教程
一、停止MySQL服务 在系统服务中找到mysql服务并停止即可。 二、卸载mysql应用程序 在控制面板中卸载mysql应用程序 三、删除mysql文件夹 找到mysql一开始安装路径的文件夹,然后删除掉该整个文件夹。 四、删除注册表 (1)按winR键,…...
rpm包编译工具rpmbuild使用介绍
rpmbuild是一个命令行工具,用于构建RPM(Red Hat Package Manager)软件包。RPM是一种用于在Linux系统上安装和管理软件的标准格式。rpmbuild可以将源代码或二进制文件打包成RPM软件包,并为之配置元数据、依赖项、文件列表等。rpmbu…...
vue3中使用cherry-markDown步骤
附cherry-markDown官网及api使用示例 官网:GitHub - Tencent/cherry-markdown: ✨ A Markdown Editor api:Cherry Markdown API 考虑到复用性,我在插件的基础上做了二次封装,步骤如下: 1.下载 npm install cherry-ma…...
数据建模方法论及实施步骤
了解数据建模之前首先要知道的是什么是数据模型。数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。 一、概要:数据…...
AUTOSAR知识点 之 COM (一):基础知识
目录 1、概述 1.1、简介 1.2、各模块依赖关系 1.2.1、PDUR关系 1.2.2、RTE 2、SPEC解读...
自媒体品牌宣传策略注意哪些,是怎么种草的
众所周知,小红书平台有着极其强大的种草能力。不论新品牌孵化,还是大品牌扩张,都会将目光投注到这里,那么小红书的品牌宣传策略究竟是怎样的呢。 一、聚焦种草能力 前面已经提到了,小红书平台是一个以“种草”为特色的…...
网络带宽管理
网络某一部分的带宽使用过多,可能会影响整个网络的性能,带宽问题甚至会影响业务关键型服务并导致网络停机。在企业中保持稳定的网络性能可能具有挑战性,因为采用数字化的网络可扩展性和敏捷性应该与组织的发展同步。随着基础设施的扩展、新应…...
SpringCloud(27. Redis 和 ZK 分布式锁)
上一篇 :26.分布式服务框架Dubbo面试题简析 1. redis 分布式锁 官方叫做 RedLock 算法,是 redis 官方支持的分布式锁算法。这个分布式锁有 3 个重要的考量点: 互斥(只能有一个客户端获取锁)不能死锁容错(…...
运行时栈帧结构与方法调用
1 运行时栈帧结构 Java虚拟机以方法作为最基本执行单元,“栈帧”则是用于支持虚拟机进行方法调用和方法执行背后的数据结构。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。 1.1 局部变量表 局部变量表的容量以变量槽为最小单位。 Java…...
VSCode +gdb+gdbserver远程调试arm开发板
一、下载编译器 从ARM官网下载gcc-arm编译器,编译器中自带gdb和gdbserver,可以省去自己编译。 注:gdb是电脑端程序,gdbserver是arm开发板程序 arm官网链接: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替换为字母,以下代码正确的是 A.s.swap(“b”,“a”) B.s.r…...
基于FPGA的车牌识别
基于FPGA进行车牌识别 基于FPGA进行车牌识别 1. 文件说明2. 程序移植说明3. 小小的编程感想 本项目的原理讲解视频已经上传到B站“基于FPGA进行车牌识别”。 本项目全部开源,见我本人的Github仓库“License-Plate-Recognition-FPGA”。 1. 文件说明 小技巧&…...
Qt - 进程/线程 补充进阶
Qt - 进程/线程 补充进阶 多线程quit / eixt / terminate QThread例子tdicethread 类.h.cpp widget 类.h.cpp 线程同步 多线程 quit / eixt / terminate quit 应用程序或线程安全的取消事件处理队列的执行,并随后使线程退出(如果只希望结束线程并保证它…...
spring笔记
spring 和 springboot的区别 自动配置原理 beanFactory接口和ApplicationContext接口 两个都是 IOC 容器 ApplicationContext接口是BeanFactory接口实现类的子类 功能: ApplicationContext扩展BeanFactory BeanFactoryApplicationContext控制反转国际化支持 …...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果