Come usare ebtables all'interno di Docker?

Quando /sbin/ebtables --list in un contenitore Ubuntu Docker, ottengo il messaggio:

 [email protected]:/core-release-4.8# /sbin/ebtables --list modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.43-boot2docker/modules.dep.bin' The kernel doesn't support the ebtables 'filter' table. 

Come posso triggersre ebtables in Docker?

Per impostazione predefinita docker non support questa funzionalità. Ma puoi passare al di sotto del parametro mentre lancia il contenitore docker per supportre la funzionalità Linux:

 --cap-add Add Linux capabilities --cap-drop Drop Linux capabilities 

Per le funzionalità di networking come iptables, ebtables ecc. È necessario aggiungere funzionalità NET_ADMIN come:

 docker run -it --cap-add=NET_ADMIN ubuntu bash 

se il pacchetto ebtables non è installato, quindi installare il pacchetto ebtables in container utilizzando il command:

  sudo apt-get update sudo apt-get install ebtables 

quindi elenchi di ebtables:

 /sbin/ebtables --list Bridge table: filter Bridge chain: INPUT, entries: 0, policy: ACCEPT Bridge chain: FORWARD, entries: 0, policy: ACCEPT Bridge chain: OUTPUT, entries: 0, policy: ACCEPT