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

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&#xff0c;如果将端口映射到宿主机上&#xff0c;容易被工具扫描出&#xff0c;且随着国产化的进程推进&#xff0c;mysql将不被允许。为了提高安全性与满足项目需求&#xff0c;这里采用隐藏mysql端口方式&#xff0c;不映射宿主机端口&#xff…...

关于对机器中的人工智能进行基准测试

大家读完觉得有帮助记得及时关注和点赞&#xff01;&#xff01;&#xff01; 抽象 最近的基准研究声称&#xff0c;AI 在各种认知任务上的表现已经接近甚至超过人类的“水平”。然而&#xff0c;本立场文件认为&#xff0c;当前的 AI 评估范式不足以评估类似人类的认知能力。我…...

CSS - 妙用Sass

官方文档&#xff1a;https://www.sass.hk/docs/ 1.例1&#xff1a; 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. 动态分支权重融合 创新思路&#xff1a;引入通道注意力机制&#xff0c;自动学习高频/低频分支的融合权重 class DynamicMS(nn.Module):def __init__(self, in_channels1):super().__init__()# 原高频/低频分支保持不变self.high_freq ... # 与原MS模块相同self.low_freq…...

私有化部署DeepSeek并SpringBoot集成使用(附UI界面使用教程-支持语音、图片)

私有化部署DeepSeek并SpringBoot集成使用&#xff08;附UI界面使用教程-支持语音、图片&#xff09; windows部署ollama Ollama 是一个开源框架&#xff0c;专为在本地机器上便捷部署和运行大型语言模型&#xff08;LLM&#xff09;而设计 下载ollama 下载地址&#xff08;…...

MFC中CMutex类和CSingleLock类,配合使用疑惑

在使用CMutex过程中&#xff0c;看到别人使用了CSingleLock类&#xff0c;想着明明CMutex已经可以实现线程同步了&#xff0c;为什么还有使用CSingleLock类呢&#xff1f; 在MFC中&#xff0c;虽然CMutex类本身可以实现线程同步&#xff0c;但通常会与CSingleLock类一起使用&am…...

残差收缩模块

1. 多尺度阈值生成 创新思路&#xff1a;融合不同尺度的统计信息&#xff08;如平均池化最大池化&#xff09;生成更鲁棒的阈值。 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 的效果&#xff08;细窄、圆角、隐藏默认轨道&#xff09;。 可以使用以下几种方案&#xff1a; 一…...

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&#xff0c;自己代码设置个开关、 文心一言&#xff1a; …...

Windows 环境下 Nginx、PHP 与 ThinkPHP 开发环境搭建

Windows 环境下 Nginx、PHP 与 ThinkPHP 开发环境搭建 目录 安装 Nginx 和 PHP配置 Nginx配置 PHP启动服务ThinkPHP 配置常见问题排查 1. 安装 Nginx 和 PHP 安装 Nginx 访问 Nginx 官网 下载 Windows 版本解压到指定目录&#xff0c;如 C:\nginx 安装 PHP 访问 PHP 官网…...

Redis100道高频面试题

一、Redis基础 Redis是什么&#xff1f;主要应用场景有哪些&#xff1f; Redis 是一个开源的、基于内存的数据结构存储系统&#xff0c;支持多种数据结构&#xff08;如字符串、哈希、列表、集合等&#xff09;&#xff0c;可以用作数据库、缓存和消息中间件。 主要应用场景&…...

登录服务器后如何找到对应的drupal所在的文件夹

在服务器上找不到 Drupal 安装目录的原因可能有以下几种&#xff1a; 多站点配置&#xff1a; Drupal 支持多站点设置&#xff0c;即在同一安装中托管多个网站。在这种配置下&#xff0c;每个站点都有自己的设置和文件夹&#xff0c;通常位于 sites 目录下。例如&#xff0c;站…...

win32汇编环境,窗口程序中使控件子类化的示例一

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

专业工具,杜绝一切垃圾残留!

在安装大多数软件时均会在系统注册表中创建相应的条目。如果卸载后仍然存在注册表残留&#xff0c;可能会导致再次安装时出现失败&#xff0c;同时也会对系统性能和存储空间产生负面影响。常见的卸载残留包括注册表项、程序文件夹、用户数据文件夹、临时文件以及相关插件等。 …...

java 实现简易基于Dledger 的选举

java 实现简易基于Dledger 的选举 1. 定义 Dledger 节点类&#xff0c;包含节点的状态、日志存储、选举和日志复制逻辑 import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.Executors; import java.util.concurrent.S…...

大数据“调味“ ,智慧“添香“,看永洪科技助力绝味食品数字化新征程

近年来&#xff0c;随着国家数字化政策不断出台、新兴技术不断进步、企业内生需求持续释放&#xff0c;数字化转型逐步成为企业实现高质量发展的必由之路&#xff0c;成为企业实现可持续发展乃至弯道超车的重要途径。 在全国数字化浪潮驱动下&#xff0c;以人工智能、互联网、…...

【嵌入式】MQTT

MQTT 文章目录 MQTT安装简介MQTT客户端代码 安装 安装Paho MQTT C库: sudo apt-get install libpaho-mqtt3-dev头文件包含&#xff1a; #include "MQTTClient.h"编译选项&#xff1a; gcc -o $ $^ -lpaho-mqtt3c简介 MQTT协议全称是&#xff08;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 的安装步骤和使用方法&#xff0c;助你轻松拥抱智能办公新时代&#xff0c;…...

行业洞察|安踏、迪桑特、始祖鸟、昂跑、lululemon等运动户外品牌的「营销创新和会员运营」对比解读

商派助力国际知名鞋品牌OMS系统全面升级&#xff0c;拓展业务类型和营销玩法&#xff01; 一、业务模式创新&#xff1a;打破传统边界&#xff0c;构建多维竞争力 近年来&#xff0c;户外运动品牌在业务模式上的革新呈现三大趋势&#xff1a;DTC模式深化、多品牌矩阵重构、技术…...

MiniProfiler 存储策略全解析:SQL Server、Redis、MongoDB 配置指南

MiniProfiler 存储策略全解析&#xff1a;SQL Server、Redis、MongoDB 配置指南 【免费下载链接】dotnet A simple but effective mini-profiler for ASP.NET (and Core) websites 项目地址: https://gitcode.com/gh_mirrors/do/dotnet MiniProfiler 是一款轻量级但功能…...

Keras图像分割模型训练完整指南:从参数配置到性能评估

Keras图像分割模型训练完整指南&#xff1a;从参数配置到性能评估 【免费下载链接】image-segmentation-keras Implementation of Segnet, FCN, UNet , PSPNet and other models in Keras. 项目地址: https://gitcode.com/gh_mirrors/im/image-segmentation-keras 图像分…...

Cogito 3B实战案例:GitHub PR描述自动生成+变更点总结

Cogito 3B实战案例&#xff1a;GitHub PR描述自动生成变更点总结 1. 快速了解Cogito 3B模型 Cogito v1预览版是Deep Cogito推出的混合推理模型系列&#xff0c;这个3B版本在大多数标准基准测试中都表现出色&#xff0c;超越了同等规模的其他开源模型。简单来说&#xff0c;它…...

Endnote与WPS高效协作:自动与手动关联全攻略

1. Endnote与WPS关联的必要性 对于科研人员和学术写作者来说&#xff0c;文献管理是日常工作中不可或缺的一部分。Endnote作为一款专业的文献管理软件&#xff0c;能够帮助我们高效地整理、引用和分享文献资料。而WPS Office则是国内广泛使用的办公软件&#xff0c;许多用户习惯…...

暗黑3按键助手:一键解放双手的终极游戏伴侣 [特殊字符]

暗黑3按键助手&#xff1a;一键解放双手的终极游戏伴侣 &#x1f3ae; 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑3中复杂的技能连招和…...

窗口效率革命:WindowResizer重构数字空间管理新范式

窗口效率革命&#xff1a;WindowResizer重构数字空间管理新范式 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 问题诊断&#xff1a;被忽视的数字空间效率黑洞 现代办公的隐形枷…...

Pixel Couplet Gen 社区贡献指南:在CSDN分享你的使用心得与创意

Pixel Couplet Gen 社区贡献指南&#xff1a;在CSDN分享你的使用心得与创意 1. 为什么要分享你的使用经验 当你成功部署并体验了Pixel Couplet Gen后&#xff0c;可能会发现一些独特的用法或优化技巧。把这些经验分享出来&#xff0c;不仅能帮助其他开发者少走弯路&#xff0…...

QueryExcel:解放双手的Excel批量查询神器,告别Ctrl+F的繁琐时代

QueryExcel&#xff1a;解放双手的Excel批量查询神器&#xff0c;告别CtrlF的繁琐时代 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 在日常工作中&#xff0c;你是否也曾被海量Excel文件中的数据查找…...

Python中缓存入门实战之核心概念与用法详解

缓存是提升程序性能的关键技术——将频繁访问的「计算结果/数据」临时存储在高速介质&#xff08;如内存&#xff09;中&#xff0c;避免重复计算/重复查询&#xff08;如数据库、API&#xff09;&#xff0c;从而大幅降低响应时间。以下是 Python 缓存的入门指南&#xff0c;涵…...

5分钟搞懂线结构光三维重建:从激光平面到深度信息的完整流程

线结构光三维重建&#xff1a;从激光平面到深度信息的实战解析 当你第一次看到激光线扫过物体表面时&#xff0c;可能不会想到这条细细的光线背后隐藏着精确测量物体三维形状的能力。线结构光三维重建技术正悄然改变着工业检测、逆向工程和医疗影像等领域——它不需要接触物体…...