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