Awesome
nvim-docker
Docker management right inside Neovim!
Features
- Container management
- View containers on your local machine with live reloading
- Bring containers up/down
- Remove and rebuild containers
- Send commands to containers (Soon<sup>TM</sup>)
- View container logs
- Configurable (Soon<sup>TM</sup>)
- Docker compose integration (Soon<sup>TM</sup>)
- Image management
- View images on you local machine with live reloading (Soon<sup>TM</sup>)
- Create new containers from images (Soon<sup>TM</sup>)
Installation
Packer
use {
'dgrbrady/nvim-docker',
requires = {'nvim-lua/plenary.nvim', 'MunifTanjim/nui.nvim'},
rocks = '4O4/reactivex' -- ReactiveX Lua implementation
}
How to use
In your lua config:
local nvim_docker = require('nvim-docker')
-- list containers
nvim_docker.containers.list_containers()
-- OR
-- setting up keybindings since the `list_containers` fn does not have a default binding
vim.keymap.set('n', '<leader>C', nvim_docker.containers.list_containers)
Default Keymaps
Binding | Where | Effect |
---|---|---|
j | Top popup | Move cursor down on container list |
k | Top popup | Move cursor up on container list |
l | Top popup | Expand container details |
L | Top popup | Expand all containers |
h | Top popup | Collapse container details |
H | Top popup | Collapse all containers |
r | Top popup | Restart container |
dd | Top popup | Deletes container (asks for confirmation) |
t | Top popup | View container logs |
<Tab> | Top popup | Focus bottom popup |
t | Bottom popup | Toggles whether the cursor should be stuck to the bottom of the popup. Helpful if you want to watch the latest logs as they come in |
<S-Tab> | Bottom popup | Focus top popup |
Roadmap
- Interact with containers
- Interact with images
- List image
- Delete image
- Create container from image
- Docker compose integration
- Provide options for user configuration
- Documentation
- Telescope integration?
Development
- clone the project
git clone https://github.com/dgrbrady/nvim-docker
- go to the project folder
cd nvim-docker
- start editing
nvim --cmd "set rtp+=."
- reference the dev configurations
:luafile dev/init.lua
- run the
containers.list_containers()
function using,w
keybind