Add docker-tramp and docker.el

- docker TRAMP provides TRAMP access to running docker containers
- docker.el provides basic management of docker images and containers
This commit is contained in:
Christoph Paulik 2015-11-08 11:38:23 +01:00 committed by syl20bnr
parent c288a391bf
commit e69c1ec5dd
6 changed files with 103 additions and 48 deletions

View File

@ -1,22 +0,0 @@
#+TITLE: Dockerfile layer
[[file:img/docker.png]]
* Table of Contents :TOC_4_gh:noexport:
- [[#description][Description]]
- [[#install][Install]]
- [[#key-bindings][Key bindings]]
* Description
This layer provides syntax highlighting and build functionality for Docker files.
* Install
To use this configuration layer, add it to your =~/.spacemacs=. You will need to
add =dockerfile= to the existing =dotspacemacs-configuration-layers= list in this
file.
* Key bindings
| Key Binding | Description |
|-------------+----------------------------------------------------|
| ~SPC m c b~ | build current buffer via =dockerfile-build-buffer= |

View File

@ -1,25 +0,0 @@
;;; packages.el --- dockerfile Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2016 Sylvain Benner & Contributors
;;
;; Author: Alan Zimmerman <alan.zimm@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(setq dockerfile-packages
'(
dockerfile-mode
))
(defun dockerfile/init-dockerfile-mode ()
(use-package dockerfile-mode
:defer t
:config
(progn
(spacemacs/set-leader-keys-for-major-mode 'dockerfile-mode
"cb" 'dockerfile-build-buffer
)))
)

View File

@ -0,0 +1,48 @@
#+TITLE: Dockerfile contribution layer for Spacemacs
[[file:img/docker.png]]
* Table of Contents :TOC_4_org:noexport:
- [[Description][Description]]
- [[Install][Install]]
- [[TRAMP access to docker containers][TRAMP access to docker containers]]
- [[Key bindings][Key bindings]]
* Description
This layer provides syntax highlighting and build functionality for Docker files
as well as TRAMP access to running docker containers.
It also includes basic Docker container and image management provided by
[[https://github.com/Silex/docker.el][docker.el.]]
* Install
To use this contribution add it to your =~/.spacemacs=
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(dockerfile))
#+END_SRC
* TRAMP access to docker containers
This relies on the [[https://github.com/emacs-pe/docker-tramp.el][docker-tramp]] package which uses ~docker exec~ available in
docker versions > 1.3. To use it press:
- ~SPC f f /docker:~
- Now you should get autocompletion for your running docker containers
* Key bindings
| Key Binding | Description |
|-------------+----------------------------------------------------|
| ~SPC m c b~ | build current buffer via =dockerfile-build-buffer= |
| ~SPC D c~ | list docker containers |
| ~SPC D k~ | delete container |
| ~SPC D p~ | pause container |
| ~SPC D e~ | unpause container |
| ~SPC D s~ | start container |
| ~SPC D o~ | stop container |
| ~SPC D r~ | restart container |
| ~SPC D i~ | list docker images |
| ~SPC D d~ | delete image |
| ~SPC D F~ | pull image |
| ~SPC D P~ | push image |

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -0,0 +1,54 @@
;;; packages.el --- dockerfile Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2015 Sylvain Benner
;; Copyright (c) 2015 Alan Zimmerman & Contributors
;;
;; Author: Alan Zimmerman <alan.zimm@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
(setq dockerfile-packages
'(
dockerfile-mode
docker-tramp
docker
))
(defun dockerfile/init-dockerfile-mode ()
(use-package dockerfile-mode
:defer t
:config
(progn
(evil-leader/set-key-for-mode 'dockerfile-mode
"mcb" 'dockerfile-build-buffer
)))
)
(defun dockerfile/init-docker-tramp ()
(use-package docker-tramp
:defer t))
(defun dockerfile/init-docker ()
(use-package docker
:defer t
:commands docker-containers
docker-images
:init
(spacemacs/declare-prefix "D" "Docker")
(evil-leader/set-key
"Dc" 'docker-containers
"Dk" 'docker-rm
"Do" 'docker-stop
"Dp" 'docker-pause
"Dr" 'docker-restart
"Ds" 'docker-start
"De" 'docker-unpause
"Di" 'docker-images
"Dd" 'docker-rmi
"DF" 'docker-pull
"DP" 'docker-push)
(evilify docker-containers-mode docker-container-mode-map)
(evilify docker-images-mode docker-images-mode-map)))

View File

@ -38,7 +38,6 @@
* Configuration files
- [[file:+config-files/ansible/README.org][ansible]]
- [[file:+config-files/dockerfile/README.org][dockerfile]]
- [[file:+config-files/nginx/README.org][nginx]]
- [[file:+config-files/puppet/README.org][puppet]]
- [[file:+config-files/salt/README.org][salt]]
@ -161,6 +160,7 @@
- [[file:+tools/command-log/README.org][command-log]]
- [[file:+tools/dash/README.org][dash]]
- [[file:+tools/deft/README.org][deft]]
- [[file:+config-files/dockerfile/README.org][dockerfile]]
- [[file:+tools/fasd/README.org][fasd]]
- [[file:+tools/finance/README.org][finance]]
- [[file:+tools/geolocation/README.org][geolocation]]