Docker-X11-Bridge + un navigateur Web 
emacs26 , emacs25 , emacs-snapshot ) pour le débogagelatest dockerfiles / emacs26emacs25 Dockerfiles / EMACS25testing Dockerfiles / instantanéalpine Dockerfiles / Alpine - Emacs s'appuie sur Alpine Linux Small (environ 300 Mo non compressé) mais peut être glitchySi vous avez besoin d'une version / configuration EMACS différente
Obtenez d'abord Docker pour votre système d'exploitation. Ensuite, vous pouvez utiliser l'une des images comme base (de) pour votre dockerfile. Exemple simple, distribution des spacemacs. Il vous permettra d'installer et de sauvegarder des dépendances logicielles / packages supplémentaires. Avec Dockerfile Ajouter une instruction, vous pouvez extraire votre .emacs.d à partir d'archives et de référentiels distants comme GitHub à l'aide de l'URL. Vous pouvez également exécuter l'une des images:
Obtenez XQuartz
open -a XQuartz
Dans les préférences XQuartz, accédez à l'onglet «Sécurité» et assurez-vous que vous avez «Autoriser les connexions à partir des clients du réseau»
ip=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
xhost + $ip
docker run -ti --name emacs
-e DISPLAY=$ip:0
-e UNAME="emacser"
-e GNAME="emacsers"
-e UID="1000"
-e GID="1000"
-v <path_to_your_.emacs.d>:/home/emacs/.emacs.d
-v <path_to_your_workspace>:/mnt/workspace
jare/emacs emacs
source
autre méthode
Obtenez Cygwin avec xinit , xorg-server et FacultationAy winpty (pour exécuter EMACS Container avec -t )
export DISPLAY=<your-machine-ip>:0.0
startxwin -- -listen tcp &
xhost + <your-machine-ip>
docker run --name emacs
-e DISPLAY="$DISPLAY"
-e UNAME="emacser"
-e GNAME="emacsers"
-e UID="1000"
-e GID="1000"
-v <path_to_your_.emacs.d>:/home/emacs/.emacs.d
-v <path_to_your_workspace>:/mnt/workspace
jare/emacs emacs
Ou avec -ti via winpty
winpty docker run -ti --name emacs
-e DISPLAY="$DISPLAY"
-e UNAME="emacser"
-e GNAME="emacsers"
-e UID="1000"
-e GID="1000"
-v <path_to_your_.emacs.d>:/home/emacs/.emacs.d
-v <path_to_your_workspace>:/mnt/workspace
jare/emacs emacs
Source Vous pouvez utiliser la configuration de @ninrod
UID et de préférence UNAME devrait correspondre à l'ID utilisateur de l'hôte. Assurez-vous également que la variable $DISPLAY est définie
docker run -ti --name emacs -v /tmp/.X11-unix:/tmp/.X11-unix:ro
-e DISPLAY="unix$DISPLAY"
-e UNAME="emacser"
-e GNAME="emacsers"
-e UID="1000"
-e GID="1000"
-v <path_to_your_.emacs.d>:/home/emacs/.emacs.d
-v <path_to_your_workspace>:/mnt/workspace
jare/emacs emacs
C'est ça! Maintenant, vous devriez voir la fenêtre Emacs.
Vous devrez peut-être autoriser la connexion locale pour l'utilisateur UNAME devrait correspondre à l'ID utilisateur des hôtes.
xhost +si:localuser:<UNAME>
Ou autoriser la connexion locale à partir du nom d'hôte du conteneur (cela devrait fonctionner avec n'importe quel UID )
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' emacs`
source
docker rm -f emacs - Retirez le conteneur emacsdocker restart emacs - Redémarrer le conteneur emacsdocker rmi -f jare/emacs - supprimer l'image jare/emacsdocker pull jare/emacs - Obtenez la version plus récente jare/emacsdocker images -a - Listez toutes les imagesdocker ps -a - répertorier tous les conteneursdocker run ... jare/emacs - exécutez la commande par défautdocker run -ti ... jare/emacs /bin/bash - start bashdocker exec emacs /usr/bin/emacs - START /usr/bin/emacs dans le conteneur emacs en cours d'exécutiondocker logs emacs - Imprimez les journaux de conteneurs emacsdocker run ... -p 8080:8080 ... jare/emacs - Access Container's Server From LocalHost: 8080docker cp <from_my_local_machine_path> emacs:/<to_my_emacs_container_path>docker cp emacs:/<from_my_emacs_container_path> <to_my_local_machine_path>docker volume create --name my-workspace - docker run ... -v my-workspace:/mnt/workspace ... jare/emacs - docker run ... -v my-workspace:/home/developer/workspace ... jare/vim-bundle