Docker Compose将一项服务附加到stdin和stdout

问题描述 投票:1回答:1

我正在尝试做的事情是创建一个由docker-compose应用程序组成的应用程序,该应用程序具有单个服务,充当可与其余服务交互的REPL。我尝试了多种方法来仅将此服务附加到stdin和stdout,但是我还没有发现任何可行的优雅方法。 This stackoverflow post's answerstdin_open: truetty: true可以用,这就是我用它制作的:

version: '3'
services:

  redis:
    image: redis

  python:
    image: python
    entrypoint: /bin/sh
    stdin_open: true
    tty: true

正在运行docker-compose up仍会发送两个服务的日志,并且docker-compose up -d会分离两个服务。对于此示例,有一种简便的方法可以在仅运行docker-compose up ...时(即,不运行docker exec等)将交互式shell传递到python服务吗?

docker docker-compose
1个回答
0
投票

您可以使用docker-compose run和Docker Compose YAML文件中的其他设置来docker-compose run替代命令。如果该服务image:其他服务,它将启动它们。要注意的一件事是,默认情况下它不会发布声明的depends_on:

ports:
[学习语言和日常开发的工具,特别是对于Python,docker-compose run python /bin/sh 提供了一个独立的游乐场,您可以在其中安装软件包作为用户帐户,而不会干扰系统Python。)
© www.soinside.com 2019 - 2024. All rights reserved.