-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker_management.bat
More file actions
270 lines (248 loc) · 6.4 KB
/
docker_management.bat
File metadata and controls
270 lines (248 loc) · 6.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
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
@echo off
title Docker Management Script
setlocal EnableDelayedExpansion
:: Define o nome padrão do ambiente
set last_env=AppGame
echo AppGame > last_environment.txt
:menu
cls
echo ============================
echo Docker Management Script
echo ============================
echo.
if defined last_env (
echo Usando ambiente: !last_env!
) else (
echo Nenhum ambiente encontrado.
)
echo.
echo Escolha uma opcao:
echo.
echo 1) Criar Novo Ambiente
echo Significa: Cria uma nova imagem e container com o nome especificado.
echo.
echo 2) Subir Container
echo Comando: docker build -t !last_env! .
echo Significa: Constroi uma imagem Docker a partir do Dockerfile no diretorio atual.
echo.
echo 3) Subir Docker Compose
echo Comando: docker-compose up -d
echo Significa: Sobe todos os servicos definidos no arquivo docker-compose.yml em background.
echo.
echo 4) Derrubar Docker Compose
echo Comando: docker-compose down
echo Significa: Derruba todos os servicos definidos no arquivo docker-compose.yml.
echo.
echo 5) Ver Logs do Container
echo Comando: docker logs !last_env!
echo Significa: Exibe os logs do container especificado.
echo.
echo 6) Parar Container
echo Comando: docker stop !last_env!
echo Significa: Para o container especificado.
echo.
echo 7) Remover Container
echo Comando: docker rm !last_env!
echo Significa: Remove o container especificado.
echo.
echo 8) Adicionar Serviço
echo Adiciona um novo serviço ao container.
echo.
echo 9) Atualizar Aplicação Python
echo Atualiza a aplicação Python no container.
echo.
echo 10) Visualizar Aplicação Python
echo Visualiza a aplicação Python no container.
echo.
echo 11) Automático: Criar e Subir Aplicação
echo Cria o ambiente, sobe o Docker Compose, atualiza a aplicação Python e mostra o endereço da aplicação.
echo.
echo 12) Ajuda
echo Descreve as ferramentas instaladas e como usá-las.
echo.
echo 13) Sair
echo.
set /p escolha=Digite sua opcao (1-13):
if "%escolha%"=="1" goto create_environment
if "%escolha%"=="2" goto build_image
if "%escolha%"=="3" goto compose_up
if "%escolha%"=="4" goto compose_down
if "%escolha%"=="5" goto view_logs
if "%escolha%"=="6" goto stop_container
if "%escolha%"=="7" goto remove_container
if "%escolha%"=="8" goto add_service
if "%escolha%"=="9" goto update_python_app
if "%escolha%"=="10" goto view_python_app
if "%escolha%"=="11" goto automatic
if "%escolha%"=="12" goto help
if "%escolha%"=="13" goto end
goto menu
:create_environment
echo.
set /p new_env=Digite o nome do novo ambiente:
echo !new_env! > last_environment.txt
set last_env=!new_env!
echo Ambiente "!new_env!" criado e salvo.
pause
goto menu
:build_image
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
echo.
echo ============================
echo Subir Container
echo ============================
docker build -t !last_env! .
echo.
pause
goto menu
:compose_up
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
echo.
echo ============================
echo Subir Docker Compose
echo ============================
docker-compose up -d
echo.
pause
goto menu
:compose_down
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
echo.
echo ============================
echo Derrubar Docker Compose
echo ============================
docker-compose down
echo.
pause
goto menu
:view_logs
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
echo.
echo ============================
echo Ver Logs do Container
echo ============================
docker logs !last_env!
echo.
pause
goto menu
:stop_container
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
echo.
echo ============================
echo Parar Container
echo ============================
docker stop !last_env!
echo.
pause
goto menu
:remove_container
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
echo.
echo ============================
echo Remover Container
echo ============================
docker rm !last_env!
echo.
pause
goto menu
:add_service
echo.
echo Escolha um serviço para adicionar:
echo.
echo 1) Instalar Nginx
echo 2) Instalar Apache
echo 3) Instalar Bibliotecas de IA (numpy, pandas, scipy, scikit-learn, tensorflow, keras)
echo 4) Instalar Wifite
echo.
set /p service_option=Digite sua opcao (1-4):
if "%service_option%"=="1" goto install_nginx
if "%service_option%"=="2" goto install_apache
if "%service_option%"=="3" goto install_ia
if "%service_option%"=="4" goto install_wifite
goto add_service
:install_nginx
docker exec -it !last_env! sh -c "apk update && apk add --no-cache nginx && rc-service nginx start"
echo Nginx instalado e iniciado.
pause
goto menu
:install_apache
docker exec -it !last_env! sh -c "apk update && apk add --no-cache apache2 && rc-service apache2 start"
echo Apache instalado e iniciado.
pause
goto menu
:install_ia
docker exec -it !last_env! sh -c "pip install numpy pandas scipy scikit-learn tensorflow keras"
echo Bibliotecas de IA instaladas.
pause
goto menu
:install_wifite
docker exec -it !last_env! sh -c "apk update && apk add --no-cache wifite"
echo Wifite instalado.
pause
goto menu
:update_python_app
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
docker cp ./PythonGame !last_env!:/app
docker exec -it !last_env! sh -c "cd /app && pip install -r requirements.txt"
echo Aplicacao Python atualizada no container.
pause
goto menu
:view_python_app
if not defined last_env (
echo Nenhum ambiente configurado. Por favor, crie um novo ambiente primeiro.
pause
goto menu
)
docker exec -it !last_env! sh -c "cd /app && python app.py"
pause
goto menu
:automatic
docker-compose down
docker-compose up -d --build
docker cp ./PythonGame AppGame:/app
docker exec -it AppGame sh -c "cd /app && pip install -r requirements.txt"
echo Aplicacao Python atualizada no container.
echo.
echo Acesse a aplicacao em http://localhost:5000
pause
goto menu
:help
echo.
echo ============================
echo Ajuda
echo ============================
type README.md
echo.
pause
goto menu
:end
echo Saindo...
exit