• Stars
    star
    340
  • Rank 124,317 (Top 3 %)
  • Language
    Emacs Lisp
  • Created over 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

TRAMP integration for docker containers

docker-tramp - TRAMP integration for docker containers

Author: Mario Rodas [email protected]
Version: 0.1

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.

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:[email protected]|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)

Converted from docker-tramp.el by el2markdown.