This layer integrates basic container management into Spacemacs.
- Syntax highlighting for
Docker
files Docker
build integrationTRAMP
access to running Docker containersDocker
container and image management via docker.eldocker-compose
integration via docker.el- Syntax checking via hadolint
- Code-Completion via
lsp
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add docker
to the existing dotspacemacs-configuration-layers
list in this
file.
You will also need the native package Docker for the actual container management.
For syntax checking the external library hadolint is necessary. It can either be downloaded from =here= or build locally with stack as shown below:
stack install hadolint
This layer can be enhanced with =dockerfile-language-server-nodejs= and emacs
=lsp-mode= to provide richer, IDE-like capabilities.
To do so set the layer variable docker-dockerfile-backend
to lsp
like shown below:
(setq-default dotspacemacs-configuration-layers
'((docker :variables docker-dockerfile-backend 'lsp)))
In addition you need to install the lsp server’s executable in your system. This can be done via npm:
npm i -g dockerfile-language-server-nodejs
This relies on the docker-tramp package which uses docker exec
available in
docker versions > 1.3.
docker-tramp
adds a new prefix /docker:
that you can use with SPC f f
,
this prefix allows to access your docker containers and also provides
auto-completion of the running containers.
Key binding | Description |
---|---|
SPC a t d | entry point to interact with dockers, after that use ? for help |
SPC m b | build current buffer |
SPC m B | build current buffer without cache |
SPC m d | shortcut for docker.el main menu |
SPC m i | shortcut for ‘docker images’ in the docker.el screen |
SPC m p | shortcut for ‘docker containers’ in the docker.el screen |