首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在容器中执行命令,在容器中使用docker-组合up和docker-组合运行。

在容器中执行命令,在容器中使用docker-组合up和docker-组合运行。
EN

Stack Overflow用户
提问于 2018-05-02 12:29:50
回答 1查看 299关注 0票数 0

我会尽量简单地解释这一点。

我有一个伪造的python应用程序。在这个python应用程序中,我尝试在另一个容器(libreoffice)中运行一个docker命令,如下所示:

代码语言:javascript
复制
import subprocess
file_path = 'path_to_file'
args = ['docker', 'run', '-it', '-v', '/tmp:/tmp',
'lcrea/libreoffice-headless', '--headless', '--convert-to', 'pdf', file_path,
'--outdir', '/tmp'] 

process = subprocess.run(args,
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
        timeout=timeout)

我用启动服务器的命令结束python应用程序的Dockerfile:

CMD python3 -m app.run_app

有趣的是,当我启动像这样的python应用程序时,它工作得很好:

代码语言:javascript
复制
docker-compose run -p 9090:9090 backend /bin/bash
root@74430c3f1f0c:/src python3 -m app.run_app

但是,当我使用docker-compose up启动它时,libreoffice容器永远不会被调用。我确信这一点,因为当我在第一个实例中执行docker ps -a时,已经创建了一个libreoffice容器,而在第二个实例中没有一个。

这里发生什么事情?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-02 17:24:13

我发现了错误。我传入了-it选项,该选项由于the input device is not a TTY而导致进程失败。我要做的就是把它拿出来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50134704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档