首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过文件路径使不同码头容器中的文件相互访问

通过文件路径使不同码头容器中的文件相互访问
EN

Stack Overflow用户
提问于 2018-04-09 15:26:03
回答 1查看 308关注 0票数 0

我使用了dockerise来编辑依赖于一个运行良好的数据库的python应用程序。python应用程序生成一个powerpoint文件,它将其存储在容器中的/tmp中。然后,它需要转换为pdf,为伪造的正面趋向渲染它。我打算使用一个伪造的libreoffice映像https://hub.docker.com/r/domnulnopcea/libreoffice-headless/来实现这一点。

libreoffice容器按以下方式运行

代码语言:javascript
复制
sudo docker run -v /YOUR_HOST_PATH/:/tmp libreoffice-headless libreoffice --headless --convert-to pdf /tmp/MY_PPT_FILE --outdir /tmp

YOUR_HOST_PATH在我的python应用程序容器中的位置

我需要发生的事情,

我需要python应用程序来调用libreoffice容器,并转换驻留在python应用程序容器中的ppt文件,然后将转换后的文档的路径提供给前端呈现。

基本上,如何使不同的码头容器中的文件彼此可以使用坞-组合。

我的船坞-合成人。

代码语言:javascript
复制
version: '3'
services:
  backend:
    image: interrodata_backend
    build: ./backend
    ports:
      - "9090:9090"
    depends_on:
      - db
    environment:
      - DATABASE_HOST=db
  db:
    image: nielsen_db
    restart: always
    build: ./db
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-09 16:44:23

如何在另一个容器中调用命令?

这个答案中,@Horgix解释了调用驻留在另一个容器中的可执行文件的方法。对于您的情况,最干净的方法是使您的libreoffice容器成为一个服务,并向外部公开一个HTTP。然后从Python应用程序容器调用这个API。

如何在不同容器之间共享文件?

您可以使用卷或绑定挂载来实现这一点。

例如,要使用绑定挂载:

代码语言:javascript
复制
docker run -v /host/path:/tmp python-app
docker run -v /host/path:/tmp libreoffice-headless

Python将文件生成到自己的/tmp目录中。libreoffice应用程序将在自己的/tmp目录中找到相同的文件。他们共享同一个目录。

使用卷的想法是一样的。您可以找到更多信息,这里

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

https://stackoverflow.com/questions/49736501

复制
相关文章

相似问题

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