Imansible immettere il contenitore Docker in una casella Linux remota con una procedura che funziona bene nella casella locale?

Ho installato nsenter sulle mie scatole Linux locali e remote. La casella remota è una macchina virtuale ospitata. La scatola locale è un computer nel mio ufficio. Entrambi eseguono la versione del server LTS di Ubuntu 12.0.4 e entrambi hanno la patch del kernel per supportre il docker. La mia casella locale è in esecuzione Docker 1.0.1, la versione apt-get per Docker. La casella remota è in esecuzione 1.4.1, l'ultima e la più grande.

Ecco la procedura utilizzata per eseguire nsenter su entrambe le macchine, mostrato con i dettagli della macchina remota:

[email protected]:~$ sudo docker inspect --format {{.State.Pid}} fluffy_cinnamon 32113 [email protected]:~$ sudo nsenter --target 32113 --mount --ipc --net --pid nsenter: cannot open /proc/32113/ns/pid: No such file or directory 

Ho controllato l'elenco dei processi nella casella remota e 32113 è sicuramente nell'elenco dei processi. Ho controllato la struttura del file e c'è sicuramente una directory denominata / proc / 32113 / ns . Tuttavia, nella mia casella remota la directory / directory denominata pid non esiste nella cartella dei nomi dei processi. Nella mia casella locale lo fa.

Perché la directory pid / directory manca dalla mia casella remota quando viene creata correttamente nella mia casella locale? Come posso risolvere questo problema affinché posisca il mio contenitore Docker nella casella remota come posso sulla mia casella locale?

Utilizza lxc-checkconfig per vedere se 'pid namespace: abilitato' o altrimenti il ​​suo kernel.

è anche ansible cercare Cgroup: abilitato lo spazio dei nomi Cgroup abilitato

se non montarlo in modo appropriato.