Docker与urwid组成(ncurses)Python应用

Docker与urwid组成(ncurses)Python应用

问题描述:

我正在创建一个算法,需要在服务器上运行,以及一个小型数据库。Docker与urwid组成(ncurses)Python应用

搬运工-compose.yml:

version: '3' 
services: 
    app: 
    command: python -u app.py 
    build: . 
    stdin_open: true 
    db: 
    image: mongo:latest 

Dockerfile:

FROM python:3.6.1 

COPY . /usr/src/app 

WORKDIR /usr/src/app 

RUN pip install -r requirements.txt 

该应用程序是一个ncurses的(urwid)应用程序,其将所述终端到TUI以监测算法。当我在我的笔记本电脑上单独运行应用程序时,终端变为TUI时,它会按预期工作。当使用命令“docker-compose up”运行时,终端首先显示docker和mongo的stdout,之后TUI的某些(剪切)部分开始显示。 TUI组件格式错误且无响应。终止码头工艺可以保留终端中的剪辑部分。

可能的提示: TUI包含一个带hrs:min:sec的运行时钟。当被剪辑的部分出现时钟是正确的,但它立即冻结。时钟由底层asyncio事件循环更新。

这个工作对我来说:

泊坞窗,compose.yml

version: '3' 
services: 
    app_db: 
    container_name: appDB 
    image: mongo:latest 

    app: 
    command: python -u /usr/src/app/app.py 
    container_name: app 
    build: . 
    links: 
    - app_db 
    stdin_open: true 
    tty: true 

当运行泊坞窗,撰写运行的应用程序,无论是应用程序和蒙戈容器运行,我得到一个终端接口放入应用程序容器中。