# ping
/bin/ping: Operation not permitted
# getcap /bin/ping /bin/ping6
/bin/ping = cap_net_admin,cap_net_raw+ep
/bin/ping6 = cap_net_admin,cap_net_raw+ep
# setcap cap_net_raw+ep /bin/ping6 cap_net_raw+ep /bin/ping
caveat: ping -m won't work, but you probably don't need it.
- run the container with --privileged (only option if you're on a RHEL6/7 centos6/7 host, no docker >= 1.2 released in EPEL)
- run the container with --cap-add=NET_ADMIN (works in 1.2) Both are not really recommended, because of other security issues you expose by giving CAP_NET_ADMIN to the whole container.
Seems like ping has the option -m to mark packets, which needs CAP_NET_ADMIN capability to function.