общий том с сервером док-станции luigi - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь немного поэкспериментировать с докером и luigi https://hub.docker.com/r/spotify/luigi

Я создал контейнер докера с помощью spotify / luigi. Я новичок в этом, и этот образ, кажется, не доступен через консоль.

Я создал общий том и сопоставил его с / luigi / share / для контейнера

import luigi
import time

class HelloWorld(luigi.Task):
    def requires(self):
        return None
    def output(self):
        return luigi.LocalTarget('/luigi/share/helloworld3.txt')
    def run(self):
        time.sleep(1)
        with self.output().open('w') as outfile:
            outfile.write('Hello World!\n')
        time.sleep(1)

class NameSubstituter(luigi.Task):
    name = luigi.Parameter()

    def requires(self):
        return HelloWorld()
    def output(self):
        return luigi.LocalTarget(self.input().path + '.name_' + self.name)
    def run(self):
        time.sleep(1)
        with self.input().open() as infile, self.output().open('w') as outfile:
            text = infile.read()
            text = text.replace('World', self.name)
            outfile.write(text)
        time.sleep(1)

if __name__ == '__main__':
    luigi.run()

Это пример кода, который я запускаю с python test.py --scheduler-host 192.168.178.48 NameSubstituter

Когда я сейчас смотрю в другой контейнер с общим томом, текстовый файл не создается.

Я немного растерялся здесь ...

Заранее спасибо

1 Ответ

0 голосов
/ 10 октября 2019

Когда вы запускаете test.py напрямую из Python, вы фактически ничего не запускаете через докер. Вы должны следовать инструкциям, чтобы на самом деле настроить свой контейнер с вашим test.py внутри, а затем запустить его из докера. Эта ссылка может иметь больше информации: Как запустить мой скрипт на Python в Docker?

...