0

我正在创建一个需要在服务器上运行的算法以及一个小型数据库。

码头工人-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 的标准输出,然后开始显示 TUI 的某些(剪辑)部分。TUI 组件格式不正确且无响应。终止 docker 进程会将剪辑的部分保留在终端中。

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

4

1 回答 1

0

这对我有用:

码头工人-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

运行docker-compose run app时,应用程序和 mongo 容器都在运行,并且我在应用程序容器中获得了一个终端接口。

于 2017-06-14T10:00:55.023 回答