-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcheck_ver_in_container.sh
executable file
·59 lines (53 loc) · 1.47 KB
/
check_ver_in_container.sh
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
#!/usr/bin/env sh
# Script to check versions in a container
# (maintained at https://github.com/KazKobara/dockerfile_fswiki_local )
### Params ###
if [ -e .env ]; then
# Use TAG_VERSION and CONTAINER_CLI in .env
. ./.env
else
TAG_VERSION=0.0.5
CONTAINER_CLI=docker
# CONTAINER_CLI=nerdctl
fi
usage () {
COMMAND=$(basename "$0")
echo "Check versions in a container ${TAG_VERSION}"
echo "Usage:"
echo
echo " ./${COMMAND} <container_name>"
echo
echo " or if either only one container runs or"
echo " to list up all the running containers"
echo
echo " ./${COMMAND}"
}
container_exec () {
${CONTAINER_CLI} exec "$1" sh -c \
"uname -r; \
cat /etc/os-release | awk -F '\"' '/^PRETTY_NAME=/ {print \$2}'; \
which busybox > /dev/null && { busybox | head -1 ;}; \
httpd -v | awk '/Apache/ {print \$3}'; \
perl -v | awk '/^This is perl/ {print \$3 \$9}'; \
../text-markdown-discount/discount/markdown -version; \
"
}
### Body ###
# Setup and check
if [ "$#" -ge 2 ]; then
usage
exit 1
elif [ "$1" != "" ]; then
CONTAINER_NAME=$1
else
CONTAINER_NAME=$(${CONTAINER_CLI} ps --format "{{.Names}}")
PS_NUM=$(echo "${CONTAINER_NAME}" | wc -l)
if [ "${PS_NUM}" != "1" ]; then
echo "------ Running Containers ------"
echo "${CONTAINER_NAME}"
echo "--------------------------------"
exit 0
fi
fi
container_exec "${CONTAINER_NAME}"
exit 0