Невозможно выполнить сценарий efg.py внутри контейнера как arg для файла развертывания kubernetes - PullRequest
1 голос
/ 01 апреля 2019

1) Попытка запустить скрипт efg.py внутри контейнера в качестве аргумента в файле развертывания kubernetes.
2) Внутри контейнера файл присутствует в /opt/abc/efg.py.
3) Во время развертывания такой файл или каталог не отображается.
4) Это спецификации контейнера:

    spec: containers: 
       -name: abc
        image: <full path here to the registry and image>
        imagePullPolicy: Always
        env:
        - name: PYTHONPATH
          value: "/opt"
        args:
        - /bin/sh
        - -c
        - cd /opt/abc && python3.6 efg.py

logs:

python3.6: невозможно открыть файл: efg.py [errorno] такого файла или каталога не существует.

Расположение efg.py в контейнере /opt/abc/efg.py.

Требования: 1) Необходимо запустить efg.py.
2) egf.py требует каталог журнала и файл, который будет создан внутри /opt/abc/.Примерно так /opt/abc/log/efg.log.

а) либо добавьте mkdir в Dockerfile («который не работает»)
б) добавьте его в аргументы

1 Ответ

0 голосов
/ 24 апреля 2019

Публикация комментариев @Nancy в качестве вики-ответа сообщества будет более заметной.

Решение:

1) Создание каталога во время сборки образа докера

2) Для запуска сценария укажите точку входа в сборке Docker или укажите ее в файле развертывания в спецификации контейнера в виде команды:

["/bin/bash"] args: [ "-c", "cd /opt/ && python3.6 efg.py" ]

Кроме того, если вам нужен envпеременная, которая будет экспортирована в модуль, вы можете указать в файле развертывания.Есть и другие способы, но это сработало для ОП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...