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

Docker容器化高可用架构部署方案(二)

01-环境准备本文档详细介绍部署前的环境准备工作包括操作系统要求、Docker安装、内核参数配置和网络确认。系统要求硬件要求CPU至少2核心内存至少4GB磁盘至少40GB可用空间操作系统OpenEuler 24.03 SP3或其他Linux发行版CentOS 7, Ubuntu 18.04, Debian 10网络要求物理网卡名称确认为ens33能够访问互联网以下载Docker镜像Docker安装在所有节点执行以下步骤1. 更新系统包# CentOS/RHEL/OpenEuler sudo dnf update -y ​ # Ubuntu/Debian sudo apt update sudo apt upgrade -y2. 安装依赖包# CentOS/RHEL/OpenEuler sudo dnf install -y yum-utils device-mapper-persistent-data lvm2 ​ # Ubuntu/Debian sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release3. 添加Docker官方GPG密钥curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/centos/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg4. 添加Docker仓库# CentOS/RHEL/OpenEuler sudo dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ​ # Ubuntu/Debian echo deb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null5. 安装Docker Engine# CentOS/RHEL/OpenEuler sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin ​ # Ubuntu/Debian sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin6. 启动Docker服务sudo systemctl enable docker sudo systemctl start docker7. 验证Docker安装docker --version docker compose version预期输出Docker version 27.x.x, build xxxxxx Docker Compose version v2.x.x8. 配置Docker开机自启sudo systemctl enable docker可选配置Docker镜像加速sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json EOF { registry-mirrors: [ https://docker.mirrors.ustc.edu.cn, https://hub-mirror.c.163.com ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker内核参数配置Macvlan支持Macvlan网络需要内核支持以下配置确保内核参数正确。1. 确认内核模块已加载# 检查macvlan模块 lsmod | grep macvlan # 如果没有输出加载模块 sudo modprobe macvlan2. 永久加载macvlan模块echo macvlan | sudo tee /etc/modules-load.d/macvlan.conf3. 配置内核参数# 创建配置文件 sudo tee /etc/sysctl.d/99-docker.conf EOF # 允许容器使用IPv4转发 net.ipv4.ip_forward 1 # 允许容器使用IPv6转发如果需要 net.ipv6.conf.all.forwarding 1 # 允许容器使用ARP代理 net.ipv4.conf.all.proxy_arp 1 net.ipv6.conf.all.forwarding 1 # Macvlan相关参数 net.ipv4.conf.default.rp_filter 0 net.ipv4.conf.all.rp_filter 0 # 允许容器使用物理网络接口的所有特性 net.bridge.bridge-nf-call-iptables 1 net.bridge.bridge-nf-call-ip6tables 1 EOF # 应用配置 sudo sysctl -p /etc/sysctl.d/99-docker.conf4. 验证内核参数sysctl net.ipv4.ip_forward sysctl net.bridge.bridge-nf-call-iptables预期输出net.ipv4.ip_forward 1 net.bridge.bridge-nf-call-iptables 1网卡确认(ens33)1. 查看网络接口ip -o link show | awk -F: {print $2}2. 查看网卡详情ip addr show ens33预期输出应包含inet 192.168.64.xxx/24物理机IP状态为UP3. 确认网卡MAC地址cat /sys/class/net/ens33/address4. 如果网卡名称不是ens33如果您的网卡名称不同如eth0需要修改所有配置文件中的网卡名称# 查看可用网卡 ls /sys/class/net/ # 如果是eth0将ens33替换为eth0 sed -i s/ens33/eth0/g /path/to/configs/*.confDocker Compose安装Docker Compose V2已随Docker一起安装。如果需要独立安装方式1通过包管理器安装# GitHub下载推荐 sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose # 如果上述链接无效使用这个 sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose # 添加执行权限 sudo chmod x /usr/local/bin/docker-compose # 创建软链接 sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose方式2通过pip安装pip3 install docker-compose验证安装docker compose version重要提示使用docker compose空格而非docker-compose连字符Docker Compose V5已移除version字段网络配置验证1. 测试物理网络连通性# 测试到网关 ping -c 3 192.168.64.1 # 测试节点间互通 ping -c 3 192.168.64.129 ping -c 3 192.168.64.1302. 测试DNS解析ping -c 3 baidu.com3. 开放防火墙端口如需要# CentOS/RHEL/OpenEuler sudo firewall-cmd --permanent --add-port80/tcp sudo firewall-cmd --permanent --add-port443/tcp sudo firewall-cmd --reload # Ubuntu/Debian sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload前置条件检查清单在继续部署之前请确认以下条件已满足所有节点已安装Docker 27.x所有节点已安装Docker Compose V2docker compose version命令正常执行网卡名称确认为ens33或已更新配置内核参数已配置macvlan模块已加载节点间网络互通防火墙已配置或已关闭下一步完成环境准备后请继续02-网络创建.md - 创建5个Macvlan网络03-目录创建.md - 创建部署目录结构

相关文章:

Docker容器化高可用架构部署方案(二)

01-环境准备 本文档详细介绍部署前的环境准备工作,包括操作系统要求、Docker安装、内核参数配置和网络确认。 系统要求 硬件要求 CPU:至少2核心 内存:至少4GB 磁盘:至少40GB可用空间 操作系统 OpenEuler 24.03 SP3 或其他L…...

给视觉开发新手的保姆级教程:在Ubuntu上从下载源码到成功运行Demo,搞定OpenCV 3环境搭建

给视觉开发新手的保姆级教程:在Ubuntu上从下载源码到成功运行Demo,搞定OpenCV 3环境搭建 第一次在Ubuntu上搭建OpenCV开发环境,对很多视觉开发新手来说可能是个令人望而生畏的任务。命令行操作、编译工具链、环境配置……这些术语听起来就让人…...

Markdown基础功能

原文:Markdown基础语法介绍 | Colin Gretzky的博客 本文介绍 Markdown 笔记格式的基础功能,涵盖核心语法和使用要点,适合初学者快速上手。 Markdown 简介 Markdown 是一种轻量级的标记语言,由 John Gruber 于 2004 年设计。它的核…...

Pixel-to-Space 像素到空间 一镜到底·跨镜连续技术解析方案

Pixel-to-Space 像素到空间 一镜到底跨镜连续技术解析方案一、技术总览1.1 核心定义Pixel-to-Space像素到空间,是一套自成体系的二维视频像素向三维物理空间实时反演的全域感知范式,跳出市面传统视频解析与空间重建的通用研发路线,形成专属化…...

通达信缠论分析插件:如何用开源工具实现智能技术分析

通达信缠论分析插件:如何用开源工具实现智能技术分析 【免费下载链接】Indicator 通达信缠论可视化分析插件 项目地址: https://gitcode.com/gh_mirrors/ind/Indicator 缠论作为技术分析的重要理论体系,其复杂的线段划分和中枢识别让许多交易者望…...

AgentDock:构建可控AI智能体的开源框架与工程实践

1. 项目概述:构建可控的智能体应用框架如果你正在寻找一个既能利用大语言模型(LLM)的创造力,又能确保关键业务流程稳定可靠的开发框架,那么 AgentDock 的出现可能正合你意。我最近深度体验了这个开源项目,它…...

OAI 5G核心网搭建后,如何用Docker命令进行日常运维和故障排查?

OAI 5G核心网Docker运维实战:从日志分析到故障排查 当OAI 5G核心网完成基础部署后,真正的挑战才刚刚开始。面对由多个容器组成的复杂系统,如何快速定位AMF拒绝注册的原因?SMF的PDU会话建立失败该如何排查?本文将分享一…...

Python调用MATLAB引擎避坑指南:从安装路径选择到`setup.py` install命令的完整实战

Python调用MATLAB引擎避坑指南:从安装路径选择到setup.py install命令的完整实战 在科学计算和工程仿真领域,MATLAB和Python各有优势。许多开发者希望将两者结合使用,但安装MATLAB引擎到Python环境时常常遇到各种"玄学"问题。本文将…...

如何在3分钟内安装TrollStore?TrollInstallerX终极指南

如何在3分钟内安装TrollStore?TrollInstallerX终极指南 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否曾想过在不越狱的情况下自由安装iOS应用&#…...

别再死记硬背公式了!用“预测-更新”的贝叶斯视角,5分钟看懂卡尔曼滤波核心

卡尔曼滤波:用贝叶斯思维解决自动驾驶中的不确定性追踪问题 想象一下你正驾驶一辆特斯拉行驶在高速公路上,车载雷达显示前方100米处有一辆卡车。但下一秒雷达数据突然跳变到105米,而摄像头却显示距离是98米。作为人类司机,你会本能…...

PCL2启动器游戏启动失败的终极解决方案:3步快速修复指南

PCL2启动器游戏启动失败的终极解决方案:3步快速修复指南 【免费下载链接】PCL Minecraft 启动器 Plain Craft Launcher(PCL)。 项目地址: https://gitcode.com/gh_mirrors/pc/PCL Plain Craft Launcher 2(PCL2)…...

深度理解 C++ 继承与多态:从底层原理到实战技巧

目录 一、 继承:不仅是代码的复用 1.1 三种继承方式的差异 1.2 构造与析构的顺序(避坑指南) 二、 多态:让程序具备“生命力” 2.1 虚函数(Virtual Function) 2.2 核心代码示例 三、 深度思考&#x…...

RTKLIB2.4.3进阶:在VS2017中通过.conf与命令行参数高效驱动PPP数据处理

1. RTKLIB与PPP数据处理基础 RTKLIB作为开源GNSS数据处理工具链,在精密单点定位(PPP)领域有着广泛应用。2.4.3版本虽然发布较早,但其稳定性和功能完整性使其至今仍是许多高精度定位项目的首选。我在多个测绘项目中实测发现&#x…...

Perplexity学术模式尚未开放的4个隐藏功能(仅限IEEE Fellow级用户测试通道泄露)

更多请点击: https://intelliparadigm.com 第一章:Perplexity学术模式尚未开放的4个隐藏功能(仅限IEEE Fellow级用户测试通道泄露) 离线语义缓存预热接口 Perplexity 内部测试版暴露了 /v2/academic/cache/warmup 端点&#xff…...

别再复制粘贴了!手把手教你从零配置一个生产可用的log4j2.xml文件

从零构建生产级Log4j2配置:告别复制粘贴的五个关键设计 每次接手新项目时,看到团队直接从GitHub或博客复制过来的log4j2.xml文件,我都会暗自叹气。这些配置往往带着各种隐患:有的在高峰期突然打满磁盘,有的关键错误日志…...

AI写专著的技巧与工具:一键生成20万字专著,开启写作新体验!

学术著作的严谨性离不开丰富的资料和数据支撑,但资料的搜集和数据的整合恰恰是撰写过程中最繁琐且耗时的环节。进行研究的学者需要全面搜索国内外的最新文献,确保所选文献既权威又相关,并追溯到原始来源,避免出现二次引用的错误&a…...

2026年搜索引擎大变革:生成式优化解决方案引领新潮流

引言随着ChatGPT、Google AI概览等工具成为主流搜索界面,传统的SEO策略已难以适配新时代的挑战。生成式引擎优化(GEO)应运而生,成为企业在线上生存与优化的新选择。本文将探讨2026年SEO行业格局的变化,分析GEO的核心逻…...

【模拟CMOS集成电路】噪声分析实战指南——从模型到计算的完整路径

1. 噪声分析的必要性与基础概念 做模拟电路设计的朋友们应该都深有体会,噪声就像个甩不掉的影子,时时刻刻影响着我们的设计。记得我第一次做低噪声放大器时,仿真结果看起来很美,实测却发现信号完全被噪声淹没,那种挫败…...

反PUA30天 Day15:“你格局小“——当这句话出现时,通常意味着对方已经没有别的论据了 |乐想屋

“本文来自「乐想屋」公众号,系列更新[职场反PUA30天觉醒计][职场生存暗规则],每天一篇清醒认知,拒绝内耗,少踩坑,快速成长。”绩效沟通那天,leader跟我说了一句话:「你不要老盯着自己那一亩三分…...

艾尔登法环风灵月影修改器下载(已汉化)分享2026最新版

《艾尔登法环》以交界地为舞台,打造了一款兼具开放世界探索与高难度挑战的角色扮演游戏。玩家将扮演褪色者,在破碎的土地上冒险,挑战强大敌人、收集装备、提升能力,最终成为艾尔登之王。游戏以硬核战斗与开放探索为核心&#xff0…...

别再让FTP匿名登录成后门!手把手教你加固vsftpd服务(附CentOS 7实战配置)

企业级vsftpd安全加固实战指南:从匿名登录风险到全方位防护 FTP服务作为企业文件传输的经典解决方案,至今仍在许多组织的IT架构中扮演重要角色。然而,默认配置下的vsftpd服务往往隐藏着致命的安全隐患——匿名登录功能如同一扇未上锁的后门&a…...

ue5 血条 渲染方形的分辨率 血条缩放的问题

项目设置中将Resize PIE Window to Output Resolution直接搜索Resize PIE Window to Output Resolution勾选即可...

OpenClawWatch:本地优先的AI智能体监控工具,实现成本、安全与行为全链路追踪

1. 项目概述:为什么我们需要一个“本地优先”的AI智能体监控工具?如果你正在开发或运行能够自主执行任务的AI智能体,比如自动处理邮件、调用API、操作文件,甚至进行线上交易,那么你肯定经历过这样的焦虑时刻&#xff1…...

为什么92%的用户调不出正宗120胶片感?揭秘Midjourney底层色彩映射矩阵与胶片光谱响应偏差

更多请点击: https://intelliparadigm.com 第一章:胶片感的视觉本质与数字复现困境 胶片感并非单一参数可定义的视觉效果,而是由卤化银晶体随机分布、显影化学反应非线性响应、颗粒噪点的空间相关性以及动态范围压缩特性共同构成的模拟物理现…...

MediaCreationTool.bat:解决Windows安装媒体创建痛点的灵活工具

MediaCreationTool.bat:解决Windows安装媒体创建痛点的灵活工具 【免费下载链接】MediaCreationTool.bat Universal MCT wrapper script for all Windows 10/11 versions from 1507 to 21H2! 项目地址: https://gitcode.com/gh_mirrors/me/MediaCreationTool.bat …...

Halo Cursor:轻量级框架无关的动画光标库设计与实践

1. 项目概述:一个轻量、无框架绑定的动画光标库最近在重构一个前端项目,想给用户界面增加一点微妙的动态反馈,提升交互的精致感。我第一个想到的就是自定义光标效果。市面上这类库不少,但要么体积臃肿,要么和特定框架&…...

Nucleus MCP:构建AI智能体标准化工具层的核心架构与实践

1. 项目概述:一个为AI智能体打造的“工具箱”中枢最近在折腾AI智能体(Agent)开发的朋友,可能都遇到过类似的困境:你有一个绝佳的想法,想让AI去调用某个API、查询数据库,或者操作一个本地工具。你…...

意法半导体权力交接:从博佐蒂到谢里的战略延续与挑战

1. 从Bozotti到Chery:一场静水深流的权力交接在半导体这个以技术迭代和资本狂热著称的行业里,权力更迭往往伴随着戏剧性的股价波动、战略急转弯或是人事地震。然而,2018年5月31日,当意法半导体(STMicroelectronics NV&…...

图解CA注意力机制:用Keras一步步拆解‘宽高分离池化’,理解位置信息如何嵌入通道注意力

图解CA注意力机制:用Keras拆解‘宽高分离池化’的视觉密码 当我们谈论注意力机制时,脑海中往往会浮现SE(Squeeze-and-Excitation)模块的通道加权画面。但今天要探讨的CA(Coordinate Attention)机制&#xf…...

D3KeyHelper:5个技巧让暗黑破坏神3操作效率翻倍的智能宏工具完全指南

D3KeyHelper:5个技巧让暗黑破坏神3操作效率翻倍的智能宏工具完全指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 你是否曾在《暗黑破…...