docker-x11-bridge + a web browser
emacs26
,emacs25
,emacs-snapshot
) for debugginglatest
dockerfiles/emacs26emacs25
dockerfiles/emacs25testing
dockerfiles/snapshotalpine
dockerfiles/alpine - Emacs build on Alpine Linux small (around 300mb uncompressed) but can be glitchyIf you need a different Emacs version/configuration checkout Silex/docker-emacs
First get docker for your OS. Then you can use one of the images as a base(FROM) for your Dockerfile. Simple example, Spacemacs distribution. It will allow you to install and backup additional software/package dependencies. With Dockerfile ADD instruction you can extract your .emacs.d
from archives and remote repositories like GitHub using URL. Also you can simply run one of the images:
Get XQuartz
In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients” ticked
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
Get Cygwin with xinit
, xorg-server
and optionaly winpty
(to run Emacs container with -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
Or with -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 You can use @ninrod 's setup
UID
and preferably UNAME
should match the host's user id. Also make sure that $DISPLAY
variable is set
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
That's it! Now you should see Emacs window.
You may need to allow local connection for the user UNAME
should match the hosts user id.
xhost +si:localuser:<UNAME>
Or allow local connection from the container's hostname(This should work with any UID
)
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' emacs`
docker rm -f emacs
- remove emacs
containerdocker restart emacs
- restart emacs
containerdocker rmi -f jare/emacs
- remove jare/emacs
imagedocker pull jare/emacs
- get newer jare/emacs
versiondocker images -a
- list all imagesdocker ps -a
- list all containersdocker run ... jare/emacs
- run the default commanddocker run -ti ... jare/emacs /bin/bash
- start bashdocker exec emacs /usr/bin/emacs
- start /usr/bin/emacs
in the running emacs
containerdocker logs emacs
- print emacs
container's logsdocker 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
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4