mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-05-01 04:30:37 +02:00
add docker-hosts plugin
This commit is contained in:
parent
ff5629e60b
commit
b311d6814b
3 changed files with 130 additions and 0 deletions
21
plugins/docker-hosts/LICENSE
Normal file
21
plugins/docker-hosts/LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2016 Buck Brady
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
21
plugins/docker-hosts/README.md
Normal file
21
plugins/docker-hosts/README.md
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
### docker-hosts
|
||||||
|
|
||||||
|
docker hosts is a simple zsh plugin to make managing multiple docker hosts easily.
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
|
||||||
|
dh-init: initializes the plugin dir and files for use
|
||||||
|
|
||||||
|
dh-add (nickname) (host IP/FQDN): adds a host with a nickname to the hosts list
|
||||||
|
|
||||||
|
dh-delete (nickname/IP/FQDN): removes the given host from the list
|
||||||
|
|
||||||
|
dh-list: shows all hosts in the hostlist
|
||||||
|
|
||||||
|
dh-set (nickname): sets the $DOCKER_HOST variable to the given host
|
||||||
|
|
||||||
|
dh-set-default (nickname): sets the host that will be automaticly loaded on shell startup
|
||||||
|
|
||||||
|
dh-current: shows the current $DOCKER_HOST vaule
|
||||||
|
|
||||||
|
dh-clear: clears the DOCKER_HOST and allows docker to connect to localhost
|
||||||
88
plugins/docker-hosts/docker-host.plugin.zsh
Normal file
88
plugins/docker-hosts/docker-host.plugin.zsh
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
# MIT License
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016 Buck Brady
|
||||||
|
#
|
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
# of this software and associated documentation files (the "Software"), to deal
|
||||||
|
# in the Software without restriction, including without limitation the rights
|
||||||
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
# copies of the Software, and to permit persons to whom the Software is
|
||||||
|
# furnished to do so, subject to the following conditions:
|
||||||
|
#
|
||||||
|
# The above copyright notice and this permission notice shall be included in all
|
||||||
|
# copies or substantial portions of the Software.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
# SOFTWARE.
|
||||||
|
|
||||||
|
# initilizes the plugin dir
|
||||||
|
function dh-init() {
|
||||||
|
if [ ! -d ~/.docker-hosts ]
|
||||||
|
then
|
||||||
|
mkdir -p ~/.docker-hosts
|
||||||
|
touch ~/.docker-hosts/hosts
|
||||||
|
touch ~/.docker-hosts/default
|
||||||
|
printf "docker-host plugin intialized.\n"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# lists all hosts in hosts file
|
||||||
|
function dh-list() {
|
||||||
|
dh-init
|
||||||
|
printf '%-20s %s\n' '-- Nickname --' '-- Host IP/FQDN --'
|
||||||
|
awk -F',' '{printf "%-20s %s\n", $1, $2}' \
|
||||||
|
$HOME/.docker-hosts/hosts | grep -v "#"
|
||||||
|
}
|
||||||
|
|
||||||
|
# adds host to hostfile
|
||||||
|
function dh-add() {
|
||||||
|
dh-init
|
||||||
|
echo "$1,$2" >> ~/.docker-hosts/hosts
|
||||||
|
printf 'Host "%s" added with IP/FQDN "%s"\n' $1 $2
|
||||||
|
}
|
||||||
|
|
||||||
|
# removes host from host file
|
||||||
|
function dh-remove() {
|
||||||
|
mv $HOME/.docker-hosts/hosts $HOME/.docker-hosts/hosts.old
|
||||||
|
grep -vw "$1" $HOME/.docker-hosts/hosts.old > $HOME/.docker-hosts/hosts
|
||||||
|
rm -f $HOME/.docker-hosts/hosts.old
|
||||||
|
}
|
||||||
|
|
||||||
|
# sets $DOCKER_HOST to given host in hostfile
|
||||||
|
function dh-set() {
|
||||||
|
dh-init
|
||||||
|
host=`grep -w $1 $HOME/.docker-hosts/hosts | awk -F',' '{print $2}'`
|
||||||
|
export DOCKER_HOST=tcp://$host
|
||||||
|
}
|
||||||
|
|
||||||
|
# loads the default host
|
||||||
|
function dh-get-default() {
|
||||||
|
host=`cat $HOME/.docker-hosts/default`
|
||||||
|
export DOCKER_HOST=tcp://$host
|
||||||
|
}
|
||||||
|
|
||||||
|
# sets host to be loaded as the default
|
||||||
|
function dh-set-default() {
|
||||||
|
grep -w $1 $HOME/.docker-hosts/hosts \
|
||||||
|
| awk -F',' '{print $2}' > $HOME/.docker-hosts/default
|
||||||
|
}
|
||||||
|
|
||||||
|
# list the current docker host
|
||||||
|
function dh-current() {
|
||||||
|
printf 'Current Docker Host: %s\n' $DOCKER_HOST
|
||||||
|
}
|
||||||
|
|
||||||
|
# clears the $DOCKER_HOST env
|
||||||
|
function dh-clear() {
|
||||||
|
export DOCKER_HOST=''
|
||||||
|
print 'DOCKER_HOST is now empty, docker will try to connect to localhost socket.'
|
||||||
|
}
|
||||||
|
|
||||||
|
# load plugin
|
||||||
|
dh-init
|
||||||
|
dh-get-default
|
||||||
Loading…
Add table
Add a link
Reference in a new issue