docker容器使用ip、ping命令报错bash: xx: command not found

docker容器使用ip、ping命令报错bash: xx: command not found

概要

docker容器使用的时候经常会遇到bash: xx: command not found,这是因为docker镜像默认只包含​​核心组件​,很多工具都需要我们自己手动安装。当我们运行容器后通常需要查看容器的ip和检查网络,今天就遇到相关问题了,发现“ip addr”、“ifconfig”、“ping”都无法使用
在这里插入图片描述

解决方法

博主这里docker pull下来的镜像都是debian的,这里可以使用apt-get update更新本地软件包索引​​,这里遇到了解析失败的问题,博主是因为没有开启内核流量转发导致的,开启内核流量转发是 Docker 网络功能正常工作的基础
在这里插入图片描述
一、开启内核流量转发
1、可以编辑创建以下文件

sodu vim /etc/sysctl.d/docker.conf
#添加以下参数
net.ipv4.ip_forward = 1       # 启用IPv4转发
net.ipv6.conf.all.forwarding=1 # 启用IPv6转发(可选)

2、保存后使用sudo sysctl -p 加载配置文件

sudo sysctl -p

3、重启docker服务使配置生效

sudo systemctl restart docker

二、现在可以重新进到docker里使用apt-get update更新本地软件包索引了
在这里插入图片描述
更新后安装下iproute2、net-tools和iputils-ping这三个软件包

apt install -y iproute2
apt install -y net-tools
apt install -y iputils-ping

安装完成后测试三个命令都可以正常使用了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值