Я новый программируемый программист на 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)
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
. Это чистая логика жесткого кодирования, но нет методов, если у вас не может быть метод ИИ для моделирования автоматически записывать файл докеров для каждого сценария.