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

docker映射了端口,宿主机不生效

1、问题产生原因

docker run -d --name my-redis -p 6379:6379 -v /usr/redis.conf:/usr/local/etc/redis/redis.conf team-redis:3.2 redis-server /usr/local/etc/redis/redis.conf

这容器跑起来了,端口6379没用。搞的我一直怀疑哪里出错了,查看配置文件啊,命令啊。

2、发现问题源

docker run 命令后,发现控制台有一个警告输出。猜测就是这个吧

WARNING: IPv4 forwarding is disabled. Networking will not work.

随即问了AI

  1. 启用 IPv4 转发: 您需要在内核中启用 IPv4 转发。这可以通过编辑 /etc/sysctl.conf 文件来实现。使用文本编辑器打开该文件:

    sudo nano /etc/sysctl.conf

    在文件末尾添加以下行:

    net.ipv4.ip_forward=1

    保存并关闭文件。

  2. 应用更改: 使用 sysctl -p 命令来应用更改:

    sudo sysctl -p

    或者,如果您只是想临时应用更改,而不修改配置文件,您可以直接设置:

    sudo sysctl net.ipv4.ip_forward=1
  3. 验证更改: 您可以使用 sysctl 命令来验证更改是否已经应用:

    sysctl net.ipv4.ip_forward

    输出应显示 net.ipv4.ip_forward = 1

注意事项:

  • 如果您是在企业级 Linux 发行版(如 RHEL/CentOS)上遇到此问题,您可能需要确保 SELinux 或其他安全策略不会阻止 IPv4 转发。您可以通过禁用 SELinux 或调整 SELinux 策略来解决此问题。例如:

    sudo setenforce 0

    或者调整 SELinux 策略:

    sudo semanage boolean -m -a -n docker_connect -t user_home_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t
    sudo semanage boolean -m -a -n ip_forward -t public_content_t

3、调整

改配置,并使其生效。特此记录

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 鸿蒙内核源码分析(共享内存) | 进程间最快通讯方式
  • SpringBoot集成kafka-获取生产者发送的消息(阻塞式和非阻塞式获取)
  • 1111111111
  • 微服务:网关路由和登录校验
  • 计算机视觉与视觉大模型对板书检测效果对比
  • 上线eleme项目
  • 怎么整合spring security和JWT
  • 【Unity3D小技巧】Unity3D中实现FPS数值显示功能实现
  • CSS 的了解text-rendering属性
  • 大模型学习笔记 - LLM 之 LLaMA系列(待更新)
  • 缺失ffmpeg.dll要用什么修复方法?快速恢复丢失的ffmpeg.dll文件
  • C++基础面试题 | C和C++的区别?
  • 【小趴菜前端学习日记3】
  • 【速览】计算机网络(更新中)
  • 使用VRoid Studio二次元建模,创建专属于自己的二次元卡通人物模型,创建完全免费开源且属于自己VRM模型
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • JS题目及答案整理
  • QQ浏览器x5内核的兼容性问题
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Vue组件定义
  • 创建一个Struts2项目maven 方式
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 分布式熔断降级平台aegis
  • 和 || 运算
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 将回调地狱按在地上摩擦的Promise
  • 来,膜拜下android roadmap,强大的执行力
  • 判断客户端类型,Android,iOS,PC
  • 什么是Javascript函数节流?
  • 我的业余项目总结
  • 移动端解决方案学习记录
  • 再次简单明了总结flex布局,一看就懂...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #VERDI# 关于如何查看FSM状态机的方法
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (差分)胡桃爱原石
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计ssm电影分享网站
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (算法)大数的进制转换
  • (一)基于IDEA的JAVA基础1
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)C#调用WebService 基础
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)四层和七层负载均衡的区别
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .NET实现之(自动更新)
  • ?.的用法