我有一个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 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
如果您对如何在观看日志时避免此超时有任何建议,我会全力以赴,并且会非常感谢......
答案 0 :(得分:0)
使用tty: true
时存在已知问题(https://github.com/docker/compose/issues/3106)。在运行tty
时,您确实需要up
吗?