Administration dans un conteneur Docker (Dockerfile, exemples compose et nginx) ; arrêt propre sur SIGTERM
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mf2kATMtqVABHSYdxJMnim
This commit is contained in:
1 parent
4852361ea6
commit
02473fafbf
6 files changed
+89
-8
No files matched your search
@@ -17,12 +17,13 @@ Sécurité (voir aussi securite.py) :
|
||||
"""
|
||||
import io
|
||||
import json
|
||||
import ssl
|
||||
import mimetypes
|
||||
import os
|
||||
import platform
|
||||
import re
|
||||
import shutil
|
||||
import signal
|
||||
import ssl
|
||||
import string
|
||||
import threading
|
||||
import webbrowser
|
||||
@@ -466,7 +467,8 @@ class Application:
|
||||
raccourcis = [("Dossier personnel", os.path.expanduser("~")), ("Site", self.racine)]
|
||||
if r.q("v"):
|
||||
raccourcis.append(("Ce voyage", os.path.join(self.racine, r.q("v"))))
|
||||
if platform.system() == "Darwin" and os.path.isdir("/Volumes"):
|
||||
# /Volumes : disques du Mac, y compris vus depuis le conteneur Docker.
|
||||
if os.path.isdir("/Volumes"):
|
||||
raccourcis += [(d, os.path.join("/Volumes", d)) for d in sorted(os.listdir("/Volumes"))
|
||||
if not d.startswith(".")]
|
||||
elif platform.system() == "Windows":
|
||||
@@ -908,6 +910,11 @@ def lancer(racine, port=8765, ouvrir=True, distant=False, certificat=None, cle=N
|
||||
print(" (Ctrl+C pour arrêter)")
|
||||
if ouvrir:
|
||||
threading.Timer(0.5, lambda: webbrowser.open(url)).start()
|
||||
|
||||
# « docker stop » envoie SIGTERM : on s'arrête aussitôt, comme sur Ctrl+C.
|
||||
def sur_sigterm(*_):
|
||||
raise KeyboardInterrupt
|
||||
signal.signal(signal.SIGTERM, sur_sigterm)
|
||||
try:
|
||||
serveur.serve_forever()
|
||||
except KeyboardInterrupt:
|
||||
|
||||
Reference in new issue
Block a user