docker emacs
1.0.0
Docker-x11-Bridge + Webブラウザ
emacs26 、 emacs25 、 emacs-snapshot )をデバッグする簡単な方法latest dockerfiles/emacs26emacs25 dockerfiles/emacs25testingalpine dockerfiles/alpine -emacsはAlpine Linux Small(約300MBの非圧縮)に構築されていますが、グリッチな場合があります別のEMACSバージョン/構成チェックアウトSilex/Docker-Emacsが必要な場合
最初にOSのDockerを取得します。次に、DockerFileのベース(From)として画像の1つを使用できます。簡単な例、SPACEMACS分布。追加のソフトウェア/パッケージの依存関係をインストールおよびバックアップすることができます。 dockerfileを追加すると、URLを使用してGithubなどのアーカイブやリモートリポジトリから.emacs.d抽出できます。また、画像の1つを単純に実行することもできます。
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
ソース
その他の方法
xinit 、 xorg-server 、Optionaly winptyでCygwinを入手してください( -tでEmacsコンテナを実行するには)
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 、ホストのユーザーIDと一致する必要があります。また、 $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のローカル接続を許可する必要がある場合があります。ホストユーザーIDと一致する必要があります。
xhost +si:localuser:<UNAME>
または、コンテナのホスト名からローカル接続を許可します(これは任意のUIDで動作するはずです)
xhost +local:`docker inspect --format='{{ .Config.Hostname }}' emacs`
ソース
docker rm -f emacs emacsコンテナを取り外しますdocker restart emacs emacsコンテナを再起動しますdocker rmi -f jare/emacs jare/emacs画像を削除しますdocker 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 in the running emacsコンテナdocker logs emacs emacsコンテナのログを印刷しますdocker run ... -p 8080:8080 ... jare/emacs 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 docker run ... -v my-workspace:/mnt/workspace ... jare/emacs docker run ... -v my-workspace:/home/developer/workspace ... jare/vim-bundle