Docker-X11-Bridge + A Web Browser 
emacs26 , emacs25 , emacs-snapshot ) untuk debugginglatestemacs25 DockerFiles/EMACS25testing DockerFiles/Snapshotalpine Dockerfiles/Alpine - Emacs Build di Alpine Linux Small (sekitar 300MB Tidak Terkompresi) tetapi bisa berkilasanJika Anda memerlukan versi Emacs/Konfigurasi yang berbeda checkout Silex/Docker-EMACS
Pertama dapatkan Docker untuk OS Anda. Kemudian Anda dapat menggunakan salah satu gambar sebagai alas (dari) untuk dockerfile Anda. Contoh sederhana, distribusi Spacemacs. Ini akan memungkinkan Anda untuk menginstal dan mencadangkan dependensi perangkat lunak/paket tambahan. Dengan DockerFile Tambahkan instruksi Anda dapat mengekstrak .emacs.d dari arsip dan repositori jarak jauh seperti github menggunakan url. Anda juga dapat menjalankan salah satu gambar:
Dapatkan XQuartz
open -a XQuartz
Di Preferensi Xquartz, buka tab "Keamanan" dan pastikan Anda memiliki "Izinkan Koneksi dari Klien Jaringan" yang dicentang
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
sumber
metode lainnya
Dapatkan Cygwin dengan xinit , xorg-server dan Opsional winpty (untuk menjalankan wadah Emacs dengan -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
Atau dengan -ti melalui 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
Sumber Anda dapat menggunakan pengaturan @ninrod
UID dan lebih disukai UNAME harus cocok dengan ID pengguna host. Pastikan juga variabel $DISPLAY diatur
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
Itu saja! Sekarang Anda harus melihat jendela Emacs.
Anda mungkin perlu mengizinkan koneksi lokal untuk pengguna UNAME harus cocok dengan ID pengguna host.
xhost +si:localuser:<UNAME>
Atau izinkan koneksi lokal dari nama host wadah (ini harus bekerja dengan UID apa pun)
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' emacs`
sumber
docker rm -f emacs - Lepaskan wadah emacsdocker restart emacs - restart wadah emacsdocker rmi -f jare/emacs - Lepaskan gambar jare/emacsdocker pull jare/emacs - Dapatkan versi jare/emacs yang lebih barudocker images -a - Daftar semua gambardocker ps -a - Daftar semua kontainerdocker run ... jare/emacs - Jalankan perintah defaultdocker run -ti ... jare/emacs /bin/bash - Mulai Bashdocker exec emacs /usr/bin/emacs - Start /usr/bin/emacs dalam wadah emacs yang sedang berjalandocker logs emacs - Cetak Log Kontainer emacsdocker run ... -p 8080:8080 ... jare/emacs - Access Container's Server dari 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