Py学习  »  docker

如何将docker分为不同的项目组成架构和单个项目?

Cesar Hernandez • 3 年前 • 398 次点击  

我是docker合成的新手,我正在尝试创建一个可以被多个项目利用的架构。想象一下我的两个服务是airlow和postgres。我希望能够将我的体系结构从项目中分离出来进行版本控制。

例如,目前我有一些项目: 项目建筑 个人项目

  • 项目架构包括我的所有docker信息,如docker-compose.yml
  • project_individual是一个python项目,我有获取数据和转换数据的函数

project_architecture:
── README.md
├── config
│   ├── airflow_container.env
│   ├── postgres.env
├── docker-compose.yml
├── services
│   └── postgres
│       ├── 00_create_user.sh
└── shared
    ├── airflow_requirements.txt
    ├── dags
    │   ├── example_dag.py
project_individual:
├── __init__.py
├── data
│   ├── __init__.py
│   ├── data.py
├── docker
│   ├── create_main_tables.sql
│   └── my_specific_dag.py
├── func
│   ├── __init__.py
|   └── functions.py

如果你仔细看,我有一个docker文件夹在我的个人_项目,我计划开发自己的dag和数据库脚本,将分别用于项目_架构气流和Postgres。此外,我想从我的项目中调用特定的函数、方法、类 数据/数据.py .

目前,在我的docker-compose.yml文件中,我正试图安装这样的外部DAG(这不起作用):

    volumes:
      - ${PWD}/../project_individual/docker/my_specific_dag.py:/usr/local/airflow/dags/my_specific_dag.py

我认为我所描述的问题已经被公司用带有气流的容器解决方案解决了。我可以想象,当开发人员在自己的团队中生成与体系结构分离的项目时,会有一个团队管理中心气流。我很乐意接受任何建议。我的最终目标是确保我的两个项目没有耦合,并且我可以扩展可以重用相同架构的项目(在project_architecture中描述)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/57182
 
398 次点击  
文章 [ 1 ]  |  最新文章 3 年前
Schisme
Reply   •   1 楼
Schisme    4 年前

您可能可以为每个项目添加更多的服务到docker合成中,但是如果您想分开部署,最简单的方法是创建多个docker合成文件。

extends docker compose的步骤自定义配置。

你甚至可以调用多个docker在 docker-compose up 使用 -f 选项:

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d