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