2

docker コンテナー内で lektor を実行しようとしましたが、問題が発生しました。

Dockerfile 内にソース コード フォルダーを「追加」(または「コピー」) すると、すべてが完全に機能しますが、もちろん、コンテナーは動的ではなく、コードの変更に応答しません。

代わりにボリュームを使用すると、コンテナーが動的になり、lektor が正常に再構築され、変更を加えるとサイトが提供されます。

しかし、サイトを公開しようとすると、コンテナーのログにエラーが表示され、終わりのないループに入ります。

Started build Debugging middleware caught exception in streamed response at a point where response headers were already sent. Traceback (most recent call last): File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/admin/utils.py", line 18, in generate for event in chain(f(*args, **kwargs), (None,)): File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/admin/modules/api.py", line 309, in generator for event in event_iter: File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/publisher.py", line 639, in publish self.link_artifacts(path) File "/usr/local/lib/lektor/lib/python2.7/site-packages/lektor/publisher.py", line 602, in link_artifacts link(full_path, dst) OSError: [Errno 18] Invalid cross-device link

最小限の Dockerfile:

FROM python:2.7.11

RUN curl -sf https://www.getlektor.com/install.sh | \
  sed '/stdin/d;s/input = .*/return/' | \
  sh

私は実際にdocker-composeを使用しています。

最小限の docker-compose.yml: version: '2' services: web: build: . ports: - "5000:5000" volumes: - .:/project working_dir: /project/source command: ['lektor', 'server', '--host', '0.0.0.0.']

(私のプロジェクト フォルダーは、lektor プロジェクト ファイルと予想されるすべての lektor フォルダーが「ソース」サブフォルダーにあるように構成されています)。

4

1 に答える 1