Docker-x11-bridge + เว็บเบราว์เซอร์ 
emacs26 , emacs25 , emacs-snapshot ) สำหรับการดีบักlatestemacs25 Dockerfiles/Emacs25testing Dockerfiles/Snapshotalpine Dockerfiles/Alpine - Emacs สร้างบน Alpine Linux Small (ประมาณ 300MB ที่ไม่บีบอัด)หากคุณต้องการการชำระเงินเวอร์ชัน/การกำหนดค่าที่แตกต่างกัน silex/docker-emacs อื่น
ก่อนอื่นรับ Docker สำหรับระบบปฏิบัติการของคุณ จากนั้นคุณสามารถใช้หนึ่งในรูปภาพเป็นฐาน (จาก) สำหรับ DockerFile ของคุณ ตัวอย่างง่ายๆการกระจาย Spacemacs จะช่วยให้คุณสามารถติดตั้งและสำรองข้อมูลซอฟต์แวร์/แพ็คเกจเพิ่มเติมได้ ด้วยคำสั่งเพิ่ม DockerFile คุณสามารถแยก .emacs.d ของคุณจากคลังเก็บและที่เก็บระยะไกลเช่น GitHub โดยใช้ URL นอกจากนี้คุณสามารถเรียกใช้หนึ่งในภาพ:
รับ XQuartz
open -a XQuartz
ในการตั้งค่า Xquartz ให้ไปที่แท็บ "ความปลอดภัย" และตรวจสอบให้แน่ใจว่าคุณได้รับ "อนุญาตการเชื่อมต่อจากไคลเอนต์เครือข่าย"
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
แหล่งที่มา
วิธีอื่น ๆ
รับ Cygwin ด้วย xinit , xorg-server และ Optionaly winpty (เพื่อเรียกใช้ Emacs Container ด้วย -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
หรือด้วย -ti ผ่าน 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
แหล่งที่มา คุณสามารถใช้การตั้งค่าของ @ninrod
UID และ UNAME ควรตรงกับรหัสผู้ใช้ของโฮสต์ ตรวจสอบให้แน่ใจว่ามีการตั้งค่าตัวแปร $DISPLAY
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
แค่ไหน! ตอนนี้คุณควรเห็นหน้าต่าง Emacs
คุณอาจต้องอนุญาตให้มีการเชื่อมต่อในพื้นที่สำหรับ UNAME ผู้ใช้ควรตรงกับรหัสผู้ใช้โฮสต์
xhost +si:localuser:<UNAME>
หรืออนุญาตให้เชื่อมต่อในท้องถิ่นจากชื่อโฮสต์ของคอนเทนเนอร์ (ควรใช้งานกับ UID ใด ๆ )
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' emacs`
แหล่งที่มา
docker rm -f emacs - ลบคอนเทนเนอร์ emacsdocker restart emacs - รีสตาร์ท emacs Containerdocker rmi -f jare/emacs - ลบภาพ jare/emacsdocker pull jare/emacs - รับรุ่น jare/emacs รุ่นใหม่กว่าdocker images -a - แสดงรายการรูปภาพทั้งหมดdocker ps -a - แสดงรายการคอนเทนเนอร์ทั้งหมดdocker run ... jare/emacs - เรียกใช้คำสั่งเริ่มต้นdocker run -ti ... jare/emacs /bin/bash - เริ่มทุบตีdocker exec emacs /usr/bin/emacs - Start /usr/bin/emacs ในคอนเทนเนอร์ emacs ที่กำลังทำงานอยู่docker logs emacs - พิมพ์บันทึกของคอนเทนเนอร์ emacsdocker run ... -p 8080:8080 ... jare/emacs - Access Container's Server จาก 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