泊坞窗。芹菜和代码在不同的容器中

时间:2017-02-02 09:45:34

标签: docker celery

我想为芹菜工人制作额外的容器。 所以结构应该如下:

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

2 个答案:

答案 0 :(得分:1)

据我了解,最好的方法是将代码保存在容器中,包括代码和芹菜。

构建像基本图像这样的smth非常有用,其中几乎所有依赖项和应用程序代码都是如此。然后,您将能够使用此容器中的代码和芹菜构建容器。因此,如果您需要构建包含代码的任何其他容器,只需使用此基本映像,并使用适当的进程更新Dockerfile。

答案 1 :(得分:0)

您可以轻松使用docker-compose链接容器。创建code_container并在docker-compose中将其作为celery的链接提供,如图所示

celery:
  ports:
    - ":"
  links:
   - code_container

现在可以通过调用code_container:port

从芹菜容器中获取所需的数据库或任何内容