-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathcheck-docker.sh
More file actions
106 lines (78 loc) · 2.4 KB
/
check-docker.sh
File metadata and controls
106 lines (78 loc) · 2.4 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
#!/bin/bash
#
# autor: @jeffotoni
# about: Script to deploy our applications sqlserver, client sqlserver done in php
# date: 08/05/2018
# since: Version 0.1
#
DOCKER_NAME='NAME_DOCKER'
# nome da imagem
DOCKER_IMAGE="jeffotoni/$DOCKER_NAME"
# local beta
#DOCKER_NETWORK='--net s31'
# producao
DOCKER_NETWORK=''
# volume onde ira econtrar o projeto
# beta local
#DOCKER_VOLUME='/PATH'
# producao
DOCKER_VOLUME='/PATH_VOLUME'
# script php a ser executado
APP_PHP='PATH_APP'
# buscando o id da imagem se nao encontrar
# start o container e busca o id
CONTAINER_ID=$($SUDO docker ps -q --filter "ancestor=$DOCKER_IMAGE")
# ambiente devel
# $SUDO="sudo"
$SUDO=""
# debug test
# somente para
# testar..
#CONTAINER_ID=''
if [ ! -z "$CONTAINER_ID" ]; then
echo ""
echo "Encontrando o ID do CONTAINER [$DOCKER_IMAGE]"
echo "CONTAINER ID = $CONTAINER_ID"
echo "Executando script php."
# executando script
$SUDO docker exec $CONTAINER_ID php -q $APP_PHP
else
# so tendo certeza, parando qualquer coisa que estiver na memoria
echo "Docker stop em imagen {$DOCKER_IMAGE}"
$SUDO docker stop $($SUDO docker ps -a -q --filter "ancestor=$DOCKER_IMAGE")
#$SUDO docker rm $($SUDO docker ps -q --filter "ancestor=$DOCKER_IMAGE")
echo ""
echo "Start no container agora."
echo "Docker Run na Imagem [$DOCKER_IMAGE]"
echo ""
# executando docker run
$SUDO docker run $DOCKER_NETWORK -itd --rm --name $DOCKER_NAME -e "DOCKER_EXEC=true" -v $DOCKER_VOLUME $DOCKER_IMAGE
# buscando o ID
CONTAINER_ID=$($SUDO docker ps -q --filter "ancestor=$DOCKER_IMAGE")
echo ""
echo "Encontrando o ID do CONTAINER [$DOCKER_IMAGE]"
echo "CONTAINER ID = $CONTAINER_ID"
echo "Executando script PHP."
# executando o script php para atualizar base
$SUDO docker exec $CONTAINER_ID php -q $APP_PHP
# mensagem de finalizacao
echo "Execucao e atualizacao da base foi concluida"
# aguardando um pouco
sleep 2
echo "Parando o serviço {$DOCKER_IMAGE}"
# parando servico
$SUDO docker stop $($SUDO docker ps -a -q --filter "ancestor=$DOCKER_IMAGE")
#aguardando um pouco
sleep 1
CONTAINER_ID=$($SUDO docker ps -q --filter "ancestor=$DOCKER_IMAGE")
if [ ! -z "$CONTAINER_ID" ]; then
echo "Removendo container {$DOCKER_IMAGE}"
# removendo servico
$SUDO docker rm $($SUDO docker ps -a -q --filter "ancestor=$DOCKER_IMAGE")
fi
fi
# executa o programa
# docker exec
# para o servico
# docker stop $(docker ps -a -q)
# docker rm $(docker ps -a -q)