У меня есть приложение Yesod, работающее через докеры и докеры, но когда я хочу смотреть журналы, у меня есть тайм-аут через 60 секунд ... Я думаю, что это связано с Yesod devel, которая является интерактивной.Yesod and docker-compose logs в режиме разработки
Я попытался с этой конфигурацией докер-: создания письма
version: '2'
services:
yesod:
build: .
ports:
- 3000:3000
tty: true
stdin_open: true
volumes:
- ./:/app
command: stack exec -- yesod devel
Но когда я использую docker-compose up
или docker-compose logs -f yesod
, то вернуть это сообщение:
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "compose/cli/main.py", line 61, in main
File "compose/cli/main.py", line 113, in perform_command
File "contextlib.py", line 35, in __exit__
File "compose/cli/errors.py", line 56, in handle_connection_errors
TypeError: log_timeout_error() takes exactly 1 argument (0 given)
docker-compose returned -1
Вот мой Dockerfile службы:
FROM haskell:7
WORKDIR /app
COPY ./ /app
RUN stack install cabal-install
RUN stack install
RUN stack install yesod-bin
Если у вас есть какие-либо рекомендации относительно того, как избежать t его таймаут при просмотре журналов, я все уши и буду вечно благодарен ...
Какая версия docker-compose вы используете? Вероятно, этот стек был исправлен в более новой версии. – dnephin
Я использую последнюю версию: 1.8.0! –
@dnephin: О, это было не последнее построение ... Я обновил мою док-станцию до последней версии, и теперь нет трассировки стека, только это сообщение: ОШИБКА: HTTP-запрос занял слишком много времени полный. Повторите попытку с помощью --verbose, чтобы получить отладочную информацию. Если вы регулярно сталкиваетесь с этой проблемой из-за медленных сетевых условий, рассмотрите настройку COMPOSE_HTTP_TIMEOUT на более высокое значение (текущее значение: 60). –