Homepage: https://github.com/emacs-pe/docker-tramp.el
Author: Mario Rodas
Updated:
TRAMP integration for docker containers for Emacs 28 and earlier
`docker-tramp.el' offers a TRAMP method for Docker containers. > **NOTE**: `docker-tramp.el' relies in the `docker exec` command. Tested > with docker version 1.6.x but should work with versions >1.3. Podman > also works. > **NOTE**: [Similar functionality][] is built-in to Emacs from version 29 > onwards, so perhaps you don't need this package any more. ## Usage Offers the TRAMP method `docker` to access running containers C-x C-f /docker:user@container:/path/to/file where user is the user that you want to use inside the container (optional) container is the id or name of the container ### [Multi-hop][] examples If you container is hosted on `vm.example.net`: /ssh:vm-user@vm.example.net|docker:user@container:/path/to/file If you need to run the `docker` command as, say, the `root` user: /sudo:root@localhost|docker:user@container:/path/to/file ## Troubleshooting ### Tramp hangs on Alpine container Busyboxes built with the `ENABLE_FEATURE_EDITING_ASK_TERMINAL' config option send also escape sequences, which `tramp-wait-for-output' doesn't ignores correctly. Tramp upstream fixed in [98a5112][] and is available since Tramp>=2.3. For older versions of Tramp you can dump [docker-tramp-compat.el][] in your `load-path' somewhere and add the following to your `init.el', which overwrites `tramp-wait-for-output' with the patch applied: (require 'docker-tramp-compat) ### Tramp does not respect remote `PATH' This is a known issue with Tramp, but is not a bug so much as a poor default setting. Adding `tramp-own-remote-path' to `tramp-remote-path' will make Tramp use the remote's `PATH' environment varialbe. (add-to-list 'tramp-remote-path 'tramp-own-remote-path) [Similar functionality]: https://www.gnu.org/software/tramp/#index-method-docker [Multi-hop]: https://www.gnu.org/software/emacs/manual/html_node/tramp/Ad_002dhoc-multi_002dhops.html [98a5112]: http://git.savannah.gnu.org/cgit/tramp.git/commit/?id=98a511248a9405848ed44de48a565b0b725af82c [docker-tramp-compat.el]: https://github.com/emacs-pe/docker-tramp.el/raw/master/docker-tramp-compat.el