| #!/usr/bin/python3 -u |
| import os, os.path, subprocess |
| |
| SERVICE_DIR = "/container/service" |
| INSTALL_FILENAME = "install.sh" |
| PROCESS_FILENAME = "process.sh" |
| nb_process = 0 |
| |
| print("install-service") |
| # Auto run global install script if available |
| if os.path.isfile(SERVICE_DIR + os.sep + INSTALL_FILENAME): |
| print(("run " + SERVICE_DIR + os.sep + INSTALL_FILENAME)) |
| subprocess.call([SERVICE_DIR + os.sep + INSTALL_FILENAME],shell=True) |
| |
| print(("remove " + SERVICE_DIR + os.sep + INSTALL_FILENAME + "\n")) |
| os.remove(SERVICE_DIR + os.sep + INSTALL_FILENAME) |
| |
| # Process install script of services in /container/service |
| for service in sorted(os.listdir(SERVICE_DIR)): |
| |
| if os.path.isfile(SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME): |
| print(("run " + SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME)) |
| subprocess.call([SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME],shell=True) |
| |
| print(("remove " + SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME)) |
| os.remove(SERVICE_DIR + os.sep + service + os.sep + INSTALL_FILENAME) |
| |
| if os.path.isfile(SERVICE_DIR + os.sep + service + os.sep + PROCESS_FILENAME): |
| nb_process += 1 |
| |
| |
| print((str(nb_process) + " process found.")) |
| |
| # Multiple process image |
| if nb_process > 1: |
| if not os.path.exists("/container/multiple_process_stack_added"): |
| print("This image has multiple process.") |
| subprocess.call(["apt-get update"],shell=True) |
| subprocess.call(["/container/tool/add-multiple-process-stack"],shell=True) |
| print("For better image build process consider adding:") |
| print("\"/container/tool/add-multiple-process-stack\" after an apt-get update in your Dockerfile.") |