我想为芹菜工人制作额外的容器。 所以结构应该如下:
celery_container - Celery
code_container - RabbitMQ, DB, code, everything else
我知道如何组织网络,因此芹菜在另一个容器中连接到Rabbit。
但我无法意识到,我应该将代码保存在两个容器中吗?
我的任务是用芹菜工人和同步完成的。
所以,现在我只看到使用--volume
param运行两个容器的选项。像这样:
docker run \
-tid \
-v $(pwd):/home \
--name code_container \
code_container
docker run \
-tid \
-v $(pwd):/home \
--name celery_container \
celery_container
答案 0 :(得分:1)
据我了解,最好的方法是将代码保存在容器中,包括代码和芹菜。
构建像基本图像这样的smth非常有用,其中几乎所有依赖项和应用程序代码都是如此。然后,您将能够使用此容器中的代码和芹菜构建容器。因此,如果您需要构建包含代码的任何其他容器,只需使用此基本映像,并使用适当的进程更新Dockerfile。
答案 1 :(得分:0)
您可以轻松使用docker-compose链接容器。创建code_container并在docker-compose中将其作为celery的链接提供,如图所示
celery:
ports:
- ":"
links:
- code_container
现在可以通过调用code_container:port
从芹菜容器中获取所需的数据库或任何内容