For lack of a better term.
- Update Andrea’s image.
docker pull andreacorallo/emacs-nativecomp:latest
- Tangle my Dockerfile.
FROM andreacorallo/emacs-nativecomp:latest RUN adduser --quiet --uid 1000 --disabled-password me RUN apt-get update RUN apt-get install -y git install-info texinfo ENV DISPLAY=:0 USER me:me
- Rebuild my image.
docker build -t ap/emacs-native-comp .
- Notes
- Run
xhost +
to enable GUI sessions.- That disables all X session security, AFAIK. Is there a better way?
- Run
- Command
docker run -v /home/me:/home/me -v /tmp/.X11-unix/:/tmp/.X11-unix --env=DISPLAY=:0 --dns=8.8.8.8 -u me -i -t ap/emacs-native-comp:latest
- Script
docker run --rm=true -v /home/me:/home/me -v /tmp/.X11-unix/:/tmp/.X11-unix --env=DISPLAY=:0 --dns=8.8.8.8 -u me -i -t ap/emacs-native-comp:latest bash -c 'cd ~; ~/.bin/emacs-sandbox -d ~/tmp/src/emacs/native-comp/.emacs.d'
@pataquets FYI, you're right that the problem was the Docker version. According to the Docker Hub documentation, my version of Docker was supported, but as best I could figure out, Andrea updated his Dockerfile with syntax that my version of Docker didn't support (but rather than giving some kind of "unrecognized Dockerfile keyword" error, Docker gave that useless message). Since then, I've switched to using GNU Guix to build/install a version of Emacs 28 into my user profile, which is working well. (It's also simpler, as it doesn't require bind-mounting directories and special files, dealing with network bridges to the container, X permissions, etc.)