Ho una macchina host fisica con Ubuntu 14.04 in esecuzione su di esso. Ha una larghezza di banda di 100G su disco e 100M. Ho installato Docker e lanciato 10 contenitori. Vorrei limitare ogni contenitore a un massimo di 10G di larghezza di banda e 10M di larghezza di banda.Limitare la dimensione del disco e la larghezza di banda di un contenitore Docker
Dopo aver esaminato i documenti ufficiali e la ricerca su Internet, non riesco ancora a trovare un modo per allocare il disco di dimensione specificato e la larghezza di banda di rete in un contenitore.
Penso che questo potrebbe non essere possibile nel Docker direttamente, forse dobbiamo bypassare Docker. Questo significa che dovremmo usare qualcosa di "sottostante", come LXC o Cgroup? Qualcuno può dare qualche suggerimento?
Edit:
@Mbarthelemy, il suo suggerimento sembra funzionare, ma ho ancora alcune domande su disco:
1) E 'possibile allocare altro formato (come 20G, 30G ecc) a ciascun contenitore? Hai detto che è hardcoded in Docker quindi sembra impossibile.
2) uso il comando per iniziare il demone Docker e contenitore:
docker -d -s devicemapper
docker run -i -t training/webapp /bin/bash
poi uso df -h
per visualizzare l'utilizzo del disco, dà il seguente risultato:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/docker-longid 9.8G 276M 9.0G 3%/
/dev/mapper/Chris--vg-root 27G 5.5G 20G 22% /etc/hosts
da quanto sopra penso che il disco massimo che un contenitore può utilizzare sia ancora più grande di 10G, cosa ne pensi ?
mbarthelemy, io integro la mia domanda sul disco, puoi aiutare a esaminare? –
Il volume di root di FS è il primo ('| 9.8G | 276M | 9.0G | 3% | /'). La dimensione è, come previsto, 10 GB. L'altra linea è un bind-mount. – mbarthelemy
il tuo suggerimento è un buon modo per limitare le dimensioni del disco. Ma penso che ci sia un altro approccio per implementarlo. Decido di aggiungere un altro utente al gruppo specificato nel contenitore, quindi limito la dimensione del disco di quel gruppo usando "Quota" in Linux. Riguardo la larghezza di banda, è troppo complesso per me, sto ancora provando, forse ti chiederò qualcosa dopo. –