Как преобразовать файл YAML в файл Dockerfile

Я новый программируемый программист на Python и столкнулся с проблемами, связанными с JSON с добавленными таблицами. Используя информацию из ответов здесь, я построил функцию, чтобы возвращать разумные результаты JSON, где включены имена таблиц, избегая наличия псевдонима или поля сталкиваются.

Просто передайте результат запроса сеанса:

test = Session (). query (VMInfo, Customer) .join (Customer) .order_by (VMInfo.vm_name) .limit (50) .offset (10)

json = sqlAl2json ( тест)

def sqlAl2json(self, result):
    arr = []
    for rs in result.all():
        proc = []
        try:
            iterator = iter(rs)
        except TypeError:
            proc.append(rs)
        else:
            for t in rs:
                proc.append(t)

        dict = {}
        for p in proc:
            tname = type(p).__name__
            for d in dir(p):
                if d.startswith('_') | d.startswith('metadata'):
                    pass
                else:
                    key = '%s_%s' %(tname, d)
                    dict[key] = getattr(p, d)
        arr.append(dict)
    return json.dumps(arr)
0
задан user7841468 13 July 2018 в 05:22
поделиться

1 ответ

Dockerfile.template

FROM ubuntu:16.04
RUN apt-get update

WORKDIR /root
ADD ./entrypoint.sh entrypoint.sh
RUN chmod 775 ./entrypoint.sh
CMD ./entrypoint.sh

entrypoint_template.sh

#!/bin/bash

Вам нужно написать сценарий некоторой логикой следующим образом:

Если зависимость имеет ssh, добавьте apt-get -y install openssh в Dockerfile.template после строки RUN apt-get update, также добавьте service ssh start в entrypoint_template.sh после #!/bin/bash

Если зависимость имеет python, добавьте apt-get -y install python в Dockerfile.template после строки RUN apt-get update

Затем, после завершения цикла петли зависимостей, добавьте tail -f /dev/null в конец entrypoint_template.sh, если ваша последняя команда не находится на передней панели.

Изначально измените значение Dockerfile.template на Dockerfile и измените entrypoint_template.sh на entrypoint.sh

. Это чистая логика жесткого кодирования, но нет методов, если у вас не может быть метод ИИ для моделирования автоматически записывать файл докеров для каждого сценария.

1
ответ дан atline 17 August 2018 в 13:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: