예제 #1
0
def make_docker_compose(app_path,database,tools):
    '''
    Tao docker compose voi cac service di kem
    :param app_path:
    :param database:
    :param tools:
    :return: duong dan docker compose
    '''
    dir_path = os.path.dirname(os.path.abspath(__file__))
    compose_path = dir_path+'/'+app_path+'/docker-compose.yml'
    app_port = str(Docker_Utils.get_available_port(type='app'))+':80'
    temp = ''
    if database != "":
        Service_Template.CO_APP_LINK_X = Service_Template.CO_APP_LINK
        Service_Template.CO_APP_LINK_X += Service_Template.CO_APP_LINK_MYSQL
        database_port = Docker_Utils.get_available_port(type='database')
        template = Service_Template.DATABASE_SERVICE[str(database).upper()].replace('X_NAME', 'database')\
            .replace('X_PORT',str(database_port)+':3306')
        temp = '\n'+template
    data = Service_Template.CO_APP_TEMPL.replace('X_PORT',app_port) + temp
    if tools != "":
        data + Service_Template.TOOL_SERVICE[str(tools).upper()]
    if Utils.write_new_file(compose_path,data):
        return compose_path
    return ""