1 背景

部署docker registry2过程中到启动时出现如下提示提示:

WARNING:IPv4 forwarding is disabled. Networking will not work

在这里插入图片描述

2 原因

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。

要让Linux系统具有路由转发功能,需要配置一个Linux的内核参数net.ipv4.ip_forward。这个参数指定了Linux系统当前对路由转发功能的支持情况;其值为0时表示禁止进行IP转发;如果是1,则说明IP转发功能已经打开。

net.ipv4.ip_forward的多种配置方式:

临时生效的配置方式,在系统重启,或对系统的网络服务进行重启后都会失效。这种方式可用于临时测试、或做实验时使用。

永久生效的配置方式,在系统重启、或对系统的网络服务进行重启后还会一直保持生效状态。这种方式可用于生产环境的部署搭建。

3 解决方法

原因找到了,问题就可以迎刃而解了。
采用永久生效的配置方法处理

3.1 修改配置文件

vim /usr/lib/sysctl.d/00-system.conf

文末追加

net.ipv4.ip_forward=1

3.2 重启网络

systemctl restart network

3.3 删除原docker服务

查看docker id

docker ps

停止docker id

docker stop 0166aff509a2

删除docker id

docker rm 0166aff509a2

3.4 重新运行docker服务

 docker run -d -p 5000:5000 -v /data/docker/registry:/var/lib/registry --restart=always --name registry registry:2

在这里插入图片描述
查看
在这里插入图片描述

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐