也许我错了,但我似乎不能让运行自定义python代码的两个docker容器之间的共享卷工作。在
我正在使用下面的docker-合成.yml公司名称:
version: "2"
services:
rabbitmq:
image: username/rabbitmq
ports:
- 15672:15672
- 5672:5672
producer:
image: username/producer
depends_on:
- rabbitmq
volumes:
- pdffolder:/temp
consumer:
image: username/consumer
depends_on:
- producer
volumes:
- pdffolder:/temp
volumes:
pdffolder:
其想法是生产者服务轮询exchange服务器以获取信息和pdf文件。然后消费者服务必须将这些信息和pdf文件发送到其他地方。在这个动作中,我必须在本地临时存储pdf文件。在
我从自定义python代码访问卷,如下所示:
制作人
^{pr2}$消费者
# consumer tries to find path created by producer (/temp/attachment.pdf) via
pdf_path = os.path.join("temp", "attachment.pdf")
通过命令行,我可以看到producer容器正在将文件写入temp/附件.pdf和预期的一样。但是,使用者在容器中没有看到错误。在
顺便说一句,我正在docker for windows上运行容器
我想我已经知道怎么了。我在Dockerfiles中为生产者和消费者使用了以下内容:
因为我将python代码移到了两个容器中的/main文件夹中,所以稍后创建的temp文件夹(通过docker compose)位于/main/temp,而不仅仅是/temp。有点奇怪因为主.py应该与/temp处于同一级别,但是它很管用。我和下面的码头工人一起工作-合成.yml公司名称:
^{pr2}$所以我想调试的步骤是:
相关问题 更多 >
编程相关推荐