Ho configurato un progetto App Engine localmente utilizzando Docker (su OSX) e ho eseguito un server utilizzando il solito comando "app gicloud di anteprima app.yaml". Da quello che posso dire, questo continua a creare nuove immagini più e più volte. Dopo circa un'ora di lavoro, mi ritrovo con qualcosa come 30 immagini docker, ciascuna con 130 MB.Avvio e arresto delle istanze di App Engine con finestra mobile
Alla fine mi viene detto che non riesco più a collegarmi a localhost: 8080. Ho provato ad uccidere tutti i contenitori e le immagini, ma ancora non posso usare localhost: 8080 fino al mio riavvio.
Sembra che io non stia usando Docker/gcloud correttamente. Qualcuno ha un'idea di cosa potrei fare male? C'è un altro modo in cui dovrei riavviare le istanze di App Engine oltre a premere il comando C ed eseguire nuovamente il comando "run"?
AGGIORNAMENTO: dopo aver guardato più da vicino, ho notato che ho ricevuto questo messaggio quando eseguo un'applicazione in locale e viene creato un contenitore: "http: Hijack è incompatibile con l'uso di CloseNotifier". Non sono abbastanza familiare con Docker per capire cosa sta succedendo qui. Tutte le ricerche sembrano indicare Go, che non sto utilizzando.
UPDATE 2: Ecco la traccia:
Creating container...
INFO 2015-05-05 02:23:28,293 containers.py:560] Container 1564ce4344957114312d6d1dc696ffbb4176b40ace6dcff5e4239e13ee04a8f6 created.
Exception in thread Thread-2:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/Users/judeosborn/google-cloud-sdk/platform/google_appengine/google/appengine/tools/docker/containers.py", line 643, in _ListenToLogs
for line in log_lines:
File "/Users/judeosborn/google-cloud-sdk/./lib/docker/docker/client.py", line 225, in _multiplexed_response_stream_helper
socket = self._get_raw_response_socket(response)
File "/Users/judeosborn/google-cloud-sdk/./lib/docker/docker/client.py", line 167, in _get_raw_response_socket
self._raise_for_status(response)
File "/Users/judeosborn/google-cloud-sdk/./lib/docker/docker/client.py", line 119, in _raise_for_status
raise errors.APIError(e, response, explanation=explanation)
APIError: 500 Server Error: Internal Server Error ("http: Hijack is incompatible with use of CloseNotifier")
INFO 2015-05-05 02:23:28,606 module.py:1745] New instance for module "default" serving on:
http://localhost:8080
credo che queste siano due distinti issues-- finestra mobile ima Ges mantenuto localmente per un lungo periodo, e il porto restava legato in alcuni circs quando si esce. Per il secondo, se fai un 'ps', vedi un processo in esecuzione 'dev_appserver.py'? In tal caso, cosa succede se uccidi quel processo manualmente? Inoltre, per ricontrollare - intendevi "control-C" per uscire? –
Probabilmente hai ragione su due problemi separati, anche se suppongo che siano correlati. Posso uccidere il processo. E, sì, intendo controllo-C. –
Quando si verifica il problema di binding della porta, se si esegue una ps, si vede qualcosa ancora in esecuzione? Credo che tu possa cercare "dev_appserver". –