RHEL/CentOS Linux 7在Docker容器中启用Ping访问
时间:2020-01-09 10:43:55 来源:igfitidea点击:
我在RHEL/CentOS Linux 7.x服务器上使用RHEL 7.1-4容器。
但是,我无法使用ping命令ping外部站点/IP地址。
我在屏幕上收到以下错误:
ping: Operation not permitted
ping:不允许操作
我该如何解决这个问题?
Linux内核v2.2 +将传统上与超级用户相关联的特权划分为不同的单元,称为功能,可以独立地启用和禁用这些功能。
功能是每个线程的属性。
例如," CAP_NET_ADMIN"功能执行各种与网络相关的操作,例如:
- 接口配置
- IP防火墙的管理,伪装和记帐;
- 修改路由表;
- 绑定到任何地址以进行透明代理
- 设置服务类型(TOS
- 清除驱动程序统计信息
- 设置混杂模式
- 启用多播
- CAP_NET_RAW功能执行各种操作,例如:
- 使用RAW和PACKET插槽
- 绑定到任何地址以进行透明代理
Docker修复ping:不允许操作错误
在"主机服务器"上,执行以下命令以分配" CAP_NET_RAW"和" CAP_NET_ADMIN"功能。
语法为:
docker run --cap-add net_raw --cap-add net_admin --rm -t -i rhel7 /bin/sh
或者
docker run --cap-add net_raw --cap-add net_admin --rm -t -i registry.access.redhat.com/rhel7 /bin/bash
追加到Docker控制台
以下命令允许您输入一个正在运行的泊坞窗,称为wwwserver:
docker exec -it [container-id] bash docker exec -it wwwserver bash
测试ping命令
在wwwserver中安装ping命令:
[root@wwwserver]# yum install -y iputils
运行ping命令:
[root@wwwserver]# ping -c4 google.com