1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/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.")
|