-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker.sh
More file actions
139 lines (127 loc) · 4.23 KB
/
Copy pathdocker.sh
File metadata and controls
139 lines (127 loc) · 4.23 KB
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/env bash
#######################################
# List running docker containers
#######################################
alias listdocker="echoAndRun sudo docker ps"
#######################################
# list all docker elements i.e. containers, volumes, networks and images
#######################################
function dockerList(){
if [ "$1" = "--help" ] ; then
echo 'list all docker elements i.e. containers, volumes, networks and images';
return;
fi
echo '##### docker containers #####'
docker ps -a
echo
echo '##### docker volumes #####'
docker volume ls
echo
echo '##### docker images #####'
docker images
echo
echo '##### docker networks #####'
docker network ls
}
#######################################
# open a shell terminal inside a given container
#######################################
function dockerssh(){
if [ -z $1 ] || [ "$1" = "--help" ] ; then
echo 'ssh into docker container';
echo '';
echo 'arguments missing';
echo 'dockerssh <<container name>>';
echo 'please try again';
return;
fi
echo running \"sudo docker exec -it ${1} /bin/bash\";
echo ;
sudo docker exec -it ${1} /bin/bash;
}
#######################################
# destroy all containers and images completely
#######################################
function dockerDestroyAllContainersAndImages(){
if [ "$1" = "-help" ]
then
echo "destroy all containers and images completely"
return
fi
destroyContainers=''
while [[ "${destroyContainers}" != "y" && "${destroyContainers}" != "n" ]] ; do
echo 'Destroy all containers? [y/n]';
read destroyContainers;
done;
destroyImages=''
while [[ "${destroyImages}" != "y" && "${destroyImages}" != "n" ]] ; do
echo 'Destroy all images? [y/n]';
read destroyImages;
done;
if [[ ${destroyContainers} == "y" ]] ; then
sudo docker rm -f -v $(sudo docker ps -a -q);
fi
if [[ ${destroyImages} == "y" ]] ; then
sudo docker rmi -f $(sudo docker images -q -a);
fi
echo 'Dont forget docker volumes may be storing data and may need destorying!!!'
}
#######################################
# destroy all absolutely all volumes
#######################################
function dockerDestroyAllVolumes(){
if [ "$1" = "-help" ]
then
echo "destroy all volumes completely"
return
fi
destroyAllVolumes=''
while [[ "${destroyAllVolumes}" != "y" && "${destroyAllVolumes}" != "n" ]] ; do
echo '' &&
sudo docker volume ls --format "table {{.Name}}" &&
echo '' &&
echo 'Destroy absolutely all volumes? [y/n]' &&
echo 'Warning: this will destroy data held by docker containers.' &&
read destroyAllVolumes;
done;
if [[ ${destroyAllVolumes} == "y" ]] ; then
sudo docker volume rm $(sudo docker volume ls --format "table {{.Name}}");
fi
}
#######################################
# destroy all networks
#######################################
function dockerDestroyAllNetworks(){
if [ "$1" = "-help" ]
then
echo "destroy all networks"
return
fi
destroyAllNetworks=''
while [[ "${destroyAllNetworks}" != "y" && "${destroyAllNetworks}" != "n" ]] ; do
echo 'Destroy all networks? [y/n]' &&
read destroyAllNetworks;
done;
if [[ ${destroyAllNetworks} == "y" ]] ; then
sudo docker network rm $(sudo docker network ls --format "table {{.Name}}");
fi
}
#######################################
# destroy all volumes not being used
#######################################
function dockerDestroyAllVolumesNotUsed(){
docker volume prune;
}
#######################################
# destroy all unused containers, images and volumes
#######################################
function dockerDestroyAllUnused(){
echo "docker system prune --all --force --volumes"
docker system prune --all --force --volumes
}
#######################################
# docker compose rebuild without cache and start
#######################################
function dockerComposeUpNoCache(){
echoAndRun "docker-compose build --force-rm --no-cache && docker-compose up --abort-on-container-exit"
}