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

2024-08-23 17:12

本文主要是介绍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、调整

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

这篇关于docker映射了端口,宿主机不生效的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100000

相关文章

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

resultMap如何处理复杂映射问题

《resultMap如何处理复杂映射问题》:本文主要介绍resultMap如何处理复杂映射问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录resultMap复杂映射问题Ⅰ 多对一查询:学生——老师Ⅱ 一对多查询:老师——学生总结resultMap复杂映射问题

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

Docker镜像修改hosts及dockerfile修改hosts文件的实现方式

《Docker镜像修改hosts及dockerfile修改hosts文件的实现方式》:本文主要介绍Docker镜像修改hosts及dockerfile修改hosts文件的实现方式,具有很好的参考价... 目录docker镜像修改hosts及dockerfile修改hosts文件准备 dockerfile 文

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3