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

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

zookeeper端口说明及介绍

《zookeeper端口说明及介绍》:本文主要介绍zookeeper端口说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、zookeeper有三个端口(可以修改)aVNMqvZ二、3个端口的作用三、部署时注意总China编程结一、zookeeper有三个端口(可以

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java实现docker镜像上传到harbor仓库的方式

《java实现docker镜像上传到harbor仓库的方式》:本文主要介绍java实现docker镜像上传到harbor仓库的方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录1. 前 言2. 编写工具类2.1 引入依赖包2.2 使用当前服务器的docker环境推送镜像2.2

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)