GNU/Linux >> Linux Esercitazione >  >> Linux

La finestra mobile può essere eseguita all'interno di un contenitore Linux?

Sì, è possibile. Tuttavia, non è possibile avere una partizione aufs nidificata all'interno di aufs. Devi montare un altro sistema o utilizzare un backend di archiviazione diverso.

Puoi dare un'occhiata al makefile della finestra mobile e a hack/dind . Hai bisogno della modalità privilegiata per farlo.

Il modo più semplice per provare è fare make shell e una volta nel contenitore, puoi avviare un nuovo demone docker :)

EDIT:ho provato Koding e in effetti non è possibile. Non sei privilegiato all'interno del loro contenitore, quindi non puoi avviare una nuova finestra mobile.


Sì, la finestra mobile può essere eseguita in un contenitore Linux.

Ma la finestra mobile funzionerà solo con lxc driver di esecuzione e in un unconfined lxc.

Quindi, ecco come ottenere docker in LXC:

  1. Assicurati di avere lxc.aa_profile = lxc-container-default-with-nesting (se non funziona o non hai questo profilo, prova lxc.aa_profile = unconfined ) nel config file del tuo LXC per assicurarti che non venga bloccato da apparmor . Per maggiori informazioni, visita (o modifica) i file in /etc/apparmor.d/lxc .

  2. Devi installare lxc nel tuo contenitore. Se sei sotto Ubuntu, ad esempio, esegui nel contenitore apt-get install lxc .

  3. Assicurati che il demone docker sia chiamato con --exec-driver=lxc parametro. Puoi testarlo prima immettendo manualmente docker -d --exec-driver=lxc . In Ubuntu, per utilizzare l'argomento all'avvio, è sufficiente modificare /etc/default/docker e assicurati di avere la riga:

DOCKER_OPTS="--exec-driver=lxc"

Segui questo thread per gli aggiornamenti:https://github.com/docker/docker/issues/6783

Se devi risolvere il problema:

  • tieni d'occhio apparmor logs nei log di kern dell'host.
  • avvia docker -d ... manualmente per ottenere gli output.

Nota:potresti non avere la mano sull'host per modificare lo script apparmor LXC su Koding giudicando le risposte degli altri, comunque, questo howto rimane interessante se sei il fornitore LXC e risponde alla domanda più generale che hai posto nel tuo titolo della domanda e che potrebbe attrarre persone in scenari più generali (come lo ero io).


Ed ecco una guida completa per chiunque altro nella stessa barca.

Avvia un terminale e inizia a digitare...

docker run -i -t --privileged -v /var/lib/docker ubuntu bash
apt-get update && apt-get install -y docker.io
service docker.io start
ln -s /usr/bin/docker.io /usr/local/bin/docker
docker run -i -t ubuntu bash

Ora dovresti trovarti all'interno di un contenitore all'interno di un altro contenitore.

Osservazioni:

  1. La bandiera --privileged è necessario sul contenitore esterno per farlo.
  2. DEVI usare -v /var/lib/docker per evitare la limitazione menzionata da creack.
  3. ln -s /usr/bin/docker.io /usr/local/bin/docker sta solo creando un collegamento simbolico in modo da poter digitare docker invece di docker.io

Linux
  1. Puoi eseguire Xcode in Linux?

  2. Come posso ottenere informazioni sul contenitore Docker Linux dall'interno del contenitore stesso?

  3. Installazione di netstat sul contenitore linux docker

  4. Impossibile leggere il certificato durante l'esecuzione nel contenitore Linux Docker:funziona su Windows

  5. Ambiente Linux isolato leggero

Come eseguire Nginx in un contenitore Docker:una guida passo passo

Esegui il contenitore Docker Almalinux o Rocky Linux 8 con Systemd (systemctl)

Come eseguire PHPMyAdmin in un contenitore Docker

Come eseguire Grafana in un contenitore Docker

Come eseguire i contenitori Docker

Come eseguire un cron job all'interno di un contenitore docker