-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathzshrc
120 lines (103 loc) · 2.71 KB
/
zshrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
## Alias
alias gs='git status'
# setup 2.0
export DOCKER_TARGET=""
export DOCKER_REG=${DOCKER_REG}
# \setup 2.0
function dsls {
echo "REPLICAS NAME"
docker service ls --format "{{.Replicas}}\t\t{{.Name}}"
}
function dps {
echo "ID NAME"
docker ps --format '{{.ID}}\t{{.Names}}'
}
function toggle_dorchestrator {
if [[ "X${DOCKER_ORCHESTRATOR}" != "Xswarm" ]];then
export DOCKER_ORCHESTRATOR=swarm
else
export DOCKER_ORCHESTRATOR=kubernetes
fi
echo "> Set DOCKER_ORCHESTRATOR=${DOCKER_ORCHESTRATOR}"
}
function d_getip {
# returns ip of given container, if none returns last containers ip
LAST_CONT=$(docker ps -l|egrep -v "(Exit \d|^CONTAINER ID)"|awk '{print $1}')
DCONT=${1-${LAST_CONT}}
if [ "X${DCONT}" == "X" ]; then
echo "No container given"
return 1
else
if [ $(docker ps|egrep -c ${1}) -eq 0 ];then
return 0
fi
echo $(docker inspect -f '{{ .NetworkSettings.IPAddress }}' ${DCONT})
fi
}
function d_getport {
# returns external port for interal port $1 of given ($2) container
# if $2=='' returns last containers ip
if [ "X${1}" == "X" ]; then
echo "No port given"
return 1
fi
LAST_CONT=$(docker ps -l|egrep -v "(Exit \d|^CONTAINER ID)"|awk '{print $1}')
DCONT=${2-${LAST_CONT}}
if [ "X${DCONT}" == "X" ]; then
echo "No container given"
return 1
else
for line in $(docker inspect -f '{{ .NetworkSettings.Ports }}' ${DCONT}|sed -e 's/\ H/_H/g' |sed -e 's/^/"/'|sed -e "s/\]\ /\"\ \"/g"|sed -e 's/$/\"/');do
echo $line|awk -F'] ' '{print $1}'|egrep -o "${1}.*HostPort\:[0-9]+"|sed -e 's#/tcp##'|awk -F\: '{print $NF}'
done
fi
}
function drun_priv {
docker run -ti --rm --privileged \
${1} /bin/bash
}
function dexec {
if [[ -z $1 ]];then
img=$(docker ps -ql)
exe=bash
else
img=$1
fi
if [[ "$#" -ge 2 ]];then
shift
exe="$@"
fi
docker exec -ti ${img} ${exe}
}
function drun {
docker run -ti --rm ${MOUNTS} ${1} /bin/bash
}
alias compose="docker-compose"
function dbuild {
if [[ -z $1 ]];then
dbuild $(getLowerDir)
return $?
fi
echo "> docker build '${1}'"
docker build ${2} --progress=plain -t ${1} .
EC=$?
if [ ${EC} -ne 0 ];then
echo ">> Build failed..."
return ${EC}
fi
}
function getDir() {
echo $1 | awk -F/ '{
n=NF-'$2'+1;
if(n<1)exit;
for (i=n;i<=NF;i++) {
printf("/%s",$i);
}}' |sed -e 's#^/##'
}
function getLowerDir() {
if [[ -z $1 ]];then
getDir $(pwd) |tr '[:upper:]' '[:lower:]'
else
getDir $1 |tr '[:upper:]' '[:lower:]'
fi
}