docker关闭mysql端口映射的使用
需求
项目中的数据库为mysql,如果将端口映射到宿主机上,容易被工具扫描出,且随着国产化的进程推进,mysql将不被允许。为了提高安全性与满足项目需求,这里采用隐藏mysql端口方式,不映射宿主机端口,仅允许docker容器间访问。
系统部署说明
环境:
- Centos 7
- Docker version 24.0.6
- Docker Compose version v2.16.0
新增docker网络
由于我们需要新建指定ip的容器,docker默认网络是随机分配ip,无法实现需求。新建网络步骤如下
# 查看docker网卡
docker network ls
# 查看具体信息,通常默认网卡为bridge
docker network inspect <网卡id> /<网卡NAME>
docker network inspect bridge
# 创建网络,注意,不要和上面已经存在的网段相同
docker network create --subnet=172.18.0.0/16 myself_network
报错处理: Error response from daemon: Pool overlaps with other one on this address space
说明172.18
网段已经被使用,需要修改一个网段,比如172.36
,注意后续容器中使用的所有网段需要同步修改。
数据库部署
创建/sdb/db/data目录,并下载初始化数据库脚本test.sql
,进入目录,将初始化脚本放在/sdb/db/data目录下。
PS:
将数据库.sql文件映射到 MySQL 容器的 /docker-entrypoint-initdb.d/ 目录下,在容器首次启动时,文件会自动执行,重启容器将不再执行当前脚本。
方法一:docker run方式启动容器
直接在/sdb/db/data目录下执行以下docker run命令,启动容器,并初始化test.sql脚本。
# 使用以上创建的网络,给容器指定一个ip
docker run --name datacenter-mysql -e MYSQL_ROOT_PASSWORD=123456 -e TZ=Asia/Shanghai --network myself_network -v /sdb/db/data/test.sql:/docker-entrypoint-initdb.d/test.sql -v /sdb/db/data:/var/lib/mysql --ip 172.18.0.136 -d mysql:8.0.27 --default-authentication-plugin=mysql_native_password --lower-case-table-names=1
# 查看容器ip
docker inspect datacenter-mysql|grep IPAddress
方法二:docker-compose方式启动
在/sdb/db/data目录下创建docker-compose.yml文件,内容如下
version: '3'# 这里需要指定使用以上创建的网络,否则会报错
networks:myself_network:external: trueservices:mysql-test:image: mysql:8.0.27container_name: datacenter-mysqlenvironment:- MYSQL_ROOT_PASSWORD=123456- TZ=Asia/Shanghaivolumes:- /sdb/db/data/test.sql:/docker-entrypoint-initdb.d/test.sql- /sdb/db/data:/var/lib/mysqlcommand:- --default-authentication-plugin=mysql_native_password- --lower-case-table-names=1networks:my_custom_network:ipv4_address: 172.18.0.136restart: always
启动容器
docker-compose up -d
服务部署说明
配置完数据库固定ip,我们可以在服务中使用,启动容器的环境变量或配置文件都可以,docker-compose文件大致如下,具体不细展开。
version: '3.7'networks:myself_network:external: trueservices:web:image: "web:1.0"# 容器名container_name: "test-web"restart: alwaysports:- "80:80"networks:myself_network:# 注意:这个地址网段需要与数据库一致ipv4_address: 172.18.0.3# 启动数据中台Java服务端容器api:image: "api:1.0"# 容器名container_name: "test-api"restart: alwaysports:- "8080:8080"environment: # 这里可以设置环境变量,使用以上配置的mysql数据库ip端口DB_JDBC_URL: jdbc:mysql://127.18.0.136:3306/testDB_USERNAME: rootDB_PASSWORD: 123456networks:myself_network:# 注意:这个地址网段需要与数据库一致ipv4_address: 172.18.0.4
启动服务
docker-compose up -d
相关文章:
docker关闭mysql端口映射的使用
需求 项目中的数据库为mysql,如果将端口映射到宿主机上,容易被工具扫描出,且随着国产化的进程推进,mysql将不被允许。为了提高安全性与满足项目需求,这里采用隐藏mysql端口方式,不映射宿主机端口ÿ…...

关于对机器中的人工智能进行基准测试
大家读完觉得有帮助记得及时关注和点赞!!! 抽象 最近的基准研究声称,AI 在各种认知任务上的表现已经接近甚至超过人类的“水平”。然而,本立场文件认为,当前的 AI 评估范式不足以评估类似人类的认知能力。我…...
CSS - 妙用Sass
官方文档:https://www.sass.hk/docs/ 1.例1: each $theme in $themeList {$themeKey: map-get($theme, key);media screen and (weex-theme: $themeKey) {.btnText {max-width: 150px;include font(map-get($theme, medFont),map-get($theme, subFontS…...
MS模块创新
1. 动态分支权重融合 创新思路:引入通道注意力机制,自动学习高频/低频分支的融合权重 class DynamicMS(nn.Module):def __init__(self, in_channels1):super().__init__()# 原高频/低频分支保持不变self.high_freq ... # 与原MS模块相同self.low_freq…...

私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)
私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片) windows部署ollama Ollama 是一个开源框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计 下载ollama 下载地址(…...
MFC中CMutex类和CSingleLock类,配合使用疑惑
在使用CMutex过程中,看到别人使用了CSingleLock类,想着明明CMutex已经可以实现线程同步了,为什么还有使用CSingleLock类呢? 在MFC中,虽然CMutex类本身可以实现线程同步,但通常会与CSingleLock类一起使用&am…...
残差收缩模块
1. 多尺度阈值生成 创新思路:融合不同尺度的统计信息(如平均池化最大池化)生成更鲁棒的阈值。 class MultiScaleShrinkage(nn.Module):def __init__(self, channel, reduction4):super().__init__()# 多尺度池化分支self.avg_pool nn.Adap…...
HOW - 在Windows浏览器中模拟MacOS的滚动条
目录 一、原生 CSS 代码实现模拟 macOS 滚动条额外优化应用到某个特定容器 二、Antd table中的滚动条场景三、使用第三方工具/扩展 如果你想让 Windows 里的滚动条 模拟 macOS 的效果(细窄、圆角、隐藏默认轨道)。 可以使用以下几种方案: 一…...

Unity 打包后EXE运行出现Field to Load il2cpp的一种情况
Unity版本2021.3.13f1c1 #if DEVELOPMENT_BUILDA1 A1 10600;#else#endif 使用 #if DEVELOPMENT_BUILD然后在下面面板使用Development Build。打包后会运行游戏EXE出现Field to Load il2cpp。 解决办法是换成IF ELSE,自己代码设置个开关、 文心一言: …...
Windows 环境下 Nginx、PHP 与 ThinkPHP 开发环境搭建
Windows 环境下 Nginx、PHP 与 ThinkPHP 开发环境搭建 目录 安装 Nginx 和 PHP配置 Nginx配置 PHP启动服务ThinkPHP 配置常见问题排查 1. 安装 Nginx 和 PHP 安装 Nginx 访问 Nginx 官网 下载 Windows 版本解压到指定目录,如 C:\nginx 安装 PHP 访问 PHP 官网…...
Redis100道高频面试题
一、Redis基础 Redis是什么?主要应用场景有哪些? Redis 是一个开源的、基于内存的数据结构存储系统,支持多种数据结构(如字符串、哈希、列表、集合等),可以用作数据库、缓存和消息中间件。 主要应用场景&…...
登录服务器后如何找到对应的drupal所在的文件夹
在服务器上找不到 Drupal 安装目录的原因可能有以下几种: 多站点配置: Drupal 支持多站点设置,即在同一安装中托管多个网站。在这种配置下,每个站点都有自己的设置和文件夹,通常位于 sites 目录下。例如,站…...

win32汇编环境,窗口程序中使控件子类化的示例一
;运行效果 ;win32汇编环境,窗口程序中使编辑框控件子类化的示例一 ;窗口子类化,就是把某种控件,自已再打造一遍,加入自已的功能。比如弄个特殊形状的按钮,或只能输入特殊字符的编辑框 ;当然,一般来说,这都是…...

专业工具,杜绝一切垃圾残留!
在安装大多数软件时均会在系统注册表中创建相应的条目。如果卸载后仍然存在注册表残留,可能会导致再次安装时出现失败,同时也会对系统性能和存储空间产生负面影响。常见的卸载残留包括注册表项、程序文件夹、用户数据文件夹、临时文件以及相关插件等。 …...
java 实现简易基于Dledger 的选举
java 实现简易基于Dledger 的选举 1. 定义 Dledger 节点类,包含节点的状态、日志存储、选举和日志复制逻辑 import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.Executors; import java.util.concurrent.S…...

大数据“调味“ ,智慧“添香“,看永洪科技助力绝味食品数字化新征程
近年来,随着国家数字化政策不断出台、新兴技术不断进步、企业内生需求持续释放,数字化转型逐步成为企业实现高质量发展的必由之路,成为企业实现可持续发展乃至弯道超车的重要途径。 在全国数字化浪潮驱动下,以人工智能、互联网、…...

【嵌入式】MQTT
MQTT 文章目录 MQTT安装简介MQTT客户端代码 安装 安装Paho MQTT C库: sudo apt-get install libpaho-mqtt3-dev头文件包含: #include "MQTTClient.h"编译选项: gcc -o $ $^ -lpaho-mqtt3c简介 MQTT协议全称是(Message Queuing…...
vue原理面试题
以下是一些关于Vue原理的面试题: 一、虚拟DOM与响应式系统 Vue中的虚拟DOM是如何工作的? 答案: 当Vue组件的数据发生变化时,Vue首先会在虚拟DOM中构建一个新的虚拟DOM树来表示更新后的组件结构。然后,Vue会将新的虚拟DOM树与旧的虚拟DOM树进行比较(这个过程称为Diff算法…...

office集成deepseek插件,office集成deepseek教程(附安装包)
文章目录 前言一、下载与安装OfficeAI 助手二、获取 DeepSeek 的 API key三、在 OfficeAI 助手中配置 DeepSeek API key四、使用 OfficeAI 助手功能 前言 本教程将为你详细讲解 Office 集成 DeepSeek 的安装步骤和使用方法,助你轻松拥抱智能办公新时代,…...

行业洞察|安踏、迪桑特、始祖鸟、昂跑、lululemon等运动户外品牌的「营销创新和会员运营」对比解读
商派助力国际知名鞋品牌OMS系统全面升级,拓展业务类型和营销玩法! 一、业务模式创新:打破传统边界,构建多维竞争力 近年来,户外运动品牌在业务模式上的革新呈现三大趋势:DTC模式深化、多品牌矩阵重构、技术…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...