Yesod和docker-在开发模式下撰写日志

时间:2016-09-06 10:24:56

标签: docker-compose yesod

我有一个Yesod应用程序通过docker和docker-compose运行但是当我想看日志时,我在60秒后超时... 我认为这是因为yesod devel命令是交互式的。

我尝试过这个docker-compose配置:

version: '2'
services:
  yesod:
    build: .
    ports:
      - 3000:3000
    tty: true
    stdin_open: true
    volumes:
      - ./:/app
    command: stack exec -- yesod devel

但是当我使用docker-compose updocker-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

如果您对如何在观看日志时避免此超时有任何建议,我会全力以赴,并且会非常感谢......

1 个答案:

答案 0 :(得分:0)

使用tty: true时存在已知问题(https://github.com/docker/compose/issues/3106)。在运行tty时,您确实需要up吗?