Silex/docker.el@813c00410b -> Silex/docker.el@46b597a711 editorconfig/editorconfig-emacs@24f5b2b1cd -> editorconfig/editorconfig-emacs@1a9942746c emacs-ansible/emacs-ansible@03e285bb54 -> emacs-ansible/emacs-ansible@4601ff31f5 emacs-citar/citar@2826996799 -> emacs-citar/citar@ce5e9644ed emacs-lsp/dap-mode@ffb7957612 -> emacs-lsp/dap-mode@09dc16bae1 emacs-lsp/lsp-mode@d28dd6b7e3 -> emacs-lsp/lsp-mode@b383e637dc emacs-lsp/lsp-ui@f0edfac7b3 -> emacs-lsp/lsp-ui@00e69463b4 emacs-straight/eglot@d3e44d33b7 -> emacs-straight/eglot@2d5d494bfc emacs-tree-sitter/elisp-tree-sitter@fe98d0cae7 -> emacs-tree-sitter/elisp-tree-sitter@f3b6e78cd4 emacs-tree-sitter/tree-sitter-langs@4f951dbb53 -> emacs-tree-sitter/tree-sitter-langs@2ff446b4b8 emacsorphanage/quickrun@d383929c50 -> emacsorphanage/quickrun@7345432cea gagbo/consult-lsp@6858391316 -> gagbo/consult-lsp@aef321d039 hpdeifel/synosaurus@14d34fc92a -> hpdeifel/synosaurus@690755ce88 jacktasia/dumb-jump@cd65a74337 -> jacktasia/dumb-jump@93665381d9 joostkremers/parsebib@f0e57a3606 -> joostkremers/parsebib@a25621930e magit/forge@0c90606262 -> magit/forge@33e240d360 magit/magit@7dfebba55b -> magit/magit@f52dfada8f mohkale/consult-eglot@9b490eb384 -> mohkale/consult-eglot@b71499f4b9 nicolaisingh/saveplace-pdf-view@70e9ec4056 -> nicolaisingh/saveplace-pdf-view@79e76562bc purcell/envrc@60f5091538 -> purcell/envrc@2b818ca6e4 rejeep/prodigy.el@c5a17c280d -> rejeep/prodigy.el@99908d13be tkf/emacs-request@01e338c335 -> tkf/emacs-request@c22e3c23a6 tumashu/posframe@8165153682 -> tumashu/posframe@12f540c9ad
:tools docker
Description unfold
This module allows you to manipulate Docker images, containers, and more from Emacs.
Provides a major dockerfile-mode
to edit Dockerfiles
. Additional convenience
functions allow images to be built easily.
doom-package:docker-tramp offers TRAMP support for Docker containers.
Maintainers
This module has no dedicated maintainers. Become a maintainer?
Module flags
- +lsp
- Enable integration for the Dockerfile Language Server.
Hacks
No hacks documented for this module.
TODO Changelog
This module does not have a changelog yet.
Installation
Enable this module in your doom!
block.
This module assumes docker
, docker-compose
and docker-machine
binaries are
installed and accessible from your PATH.
Optionally, this module also uses the following programs:
docker-langserver
(for LSP users):$ npm install -g dockerfile-language-server-nodejs
dockfmt
for doom-module::editor format: https://github.com/jessfraz/dockfmt#installation
TODO Usage
This module's usage documentation is incomplete. Complete it?
Docker control
Use M-x docker
, select a resource, and then mark or unmark items using the
following keybindings (for more marking possibilities, check out
politza/tablist):
Binding | Description |
---|---|
? | List actions |
l | Configure listing |
m | Mark item |
u | Unmark item |
t | Toggle marks |
U | Unmark all |
s | Sort |
* r | Mark items by regexp |
< | Shrink column |
> | Enlarge column |
C-c C-e | Export to csv |
Supported commands
docker container
:attach
,cp
,diff
,inspect
,kill
,logs
,pause
,rename
,restart
,rm
,start
,stop
,unpause
docker image
:inspect
,pull
,push
,rm
,run
,tag
docker network
:rm
docker volume
:rm
docker-machine
:create
,env
,restart
,rm
,start
,stop
docker-compose
:build
,config
,create
,down
,exec
,logs
,pull
,push
,remove
,restart
,run
,start
,stop
,up
You can also enterdired
or open a file inside a container or volume.
TRAMP
Offers the TRAMP method docker
to access running containers:
C-x C-f /docker:$USER@$CONTAINER:/path/to/file
$USER |
the user that you want to use (optional) |
$CONTAINER |
the id or name of the container |
TODO Configuration
This module's configuration documentation is incomplete. Complete it?
Popups
Thanks to magit-popup, all the popups default arguments can be customized. For
example, here is how to customize the arguments for docker-image-run-popup
:
(after! docker
(setq docker-image-run-arguments '("-i" "-t" "--rm")))
Other useful variables
Variable | Description | Default |
---|---|---|
docker-command |
The docker binary to use | docker |
docker-container-default-sort-key |
Sort key for docker containers | ("Image") |
docker-container-shell-file-name |
Shell to use when entering containers | /bin/bash |
docker-image-default-sort-key |
Sort key for docker images | ("Repository") |
docker-machine-default-sort-key |
Sort key for docker machines | ("Name") |
docker-network-default-sort-key |
Sort key for docker networks | ("Name") |
docker-run-as-root |
Run docker as root | nil |
docker-volume-default-sort-key |
Sort key for docker volumes | ("Driver") |
Completion in Dockerfiles
By default, the keyword completion function detects the docker-compose
version
of the current buffer and suggests the appropriate keywords.
You can change the candidates offered by the backend by customizing
docker-compose-keywords
.
Troubleshooting
Tramp hangs on Alpine container
Busyboxes built with the ENABLE_FEATURE_EDITING_ASK_TERMINAL
config option
also send escape sequences, which tramp-wait-for-output
doesn't ignore
correctly. This was fixed in TRAMP upstream 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 $DOOMDIR/config.el
to overwrite
tramp-wait-for-output
with the patch applied:
(after! tramp
(require 'docker-tramp-compat))
Frequently asked questions
This module has no FAQs yet. Ask one?
TODO Appendix
This module has no appendix yet. Write one?