Centos7 Docker容器启动报错:WARNING: IPv4 forwarding is disabled. Networking will not work

本文主要是介绍Centos7 Docker容器启动报错:WARNING: IPv4 forwarding is disabled. Networking will not work,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


问题

最近使用Docker容器部署Jar包的时候,数据库一直连不上:

2021-01-08 02:59:31.354 ERROR [eate-1123226989] com.alibaba.druid.pool.DruidDataSource   2507 - create connection SQLException, url: jdbc:mysql://***/***?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=CTT&useAffectedRows=true, errorCode 0, state 08001
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.……com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1572)……
Caused by: java.net.ConnectException: Connection timed out (Connection timed out)……

被这个问题困扰了很久,解决问题的方向一直是容器的镜像。

直到今天,在大佬的帮助下,发现启动容器的时候有一行不起眼的提示:

WARNING: IPv4 forwarding is disabled. Networking will not work

再结合前面的:

java.net.ConnectException: Connection timed out (Connection timed out)

淦!

问题出在了网络上!

IPv4转发已禁用。网络将不起作用。


解决

添加IPv4转发配置

  • vi /etc/sysctl.conf 或者 vi /usr/lib/sysctl.d/00-system.conf

  • 添加一行配置 net.ipv4.ip_forward=1

  • 使用 systemctl restart network 重启 network服务

  • 使用sysctl net.ipv4.ip_forward查看是否修改成功 ,如果返回为 net.ipv4.ip_forward = 1 则表示修改成功

  • 重启Docker容器,问题解决


启动容器时指定IP

还可以在启动容器时通过 -p 参数指定IP(IP为IPv4 地址)的方式来解决,例如: docker run -p 192.168.216.1:8080



参考:

【1】:centos 7 Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work

这篇关于Centos7 Docker容器启动报错:WARNING: IPv4 forwarding is disabled. Networking will not work的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

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

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

使用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

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

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

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