2016-09-06 28 views
1

我有一个Yesod应用程序通过docker和docker-compose运行,但是当我想要看日志时,60秒后我有一个超时... 我认为这是由于yesod devel命令是互动的。Yesod和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 

如果您有任何关于如何避免t他在看日志时的超时时间,我都耳熟能详,感激不尽...

+0

您使用的是哪个版本的docker-compose?该堆栈跟踪可能已在更新的版本中修复。 – dnephin

+0

我使用的是最新版本:1.8.0! –

+0

@dnephin:哦,这不是最后一次构建... 我已经更新了我的码头构成到最后的版本,现在,没有堆栈跟踪,只是此消息: 错误:HTTP请求花了太长时间完成。用--verbose重试以获取调试信息。 如果由于网络条件较慢而定期遇到此问题,请考虑将COMPOSE_HTTP_TIMEOUT设置为更高的值(当前值:60)。 –

回答

0

使用tty: true时有一个已知问题(https://github.com/docker/compose/issues/3106)。运行up时实际上是否需要tty

+0

我认为这是我设置这个应用程序时需要的,但不是显然,但我最后得到相同的错误! –

+0

您可能需要重新启动泊坞窗引擎或码头机。我不确定你为什么会超时。 – dnephin

+0

已经做了很多次了......无论如何谢谢! –