gpt4 book ai didi

docker - Docker为多个不同项目撰写

转载 作者:行者123 更新时间:2023-12-02 19:14:12 29 4
gpt4 key购买 nike

我的机器文件系统上具有以下项目结构:

../
├── angular_front_end/
│ └── docker-compose.yml
│ └── Dockerfile
├── node_back_end_service/
│ └── docker-compose.yml
│ └── Dockerfile
└── php_back_end_service/
└── docker-compose.yml
└── Dockerfile
问题是,我不想遍历每个代码并执行 docker-compose up,维护起来很可怕。
有没有办法以某种方式将它们统一起来?
另外,我是否可以在一个容器中运行所有这些容器,如下面的屏幕快照中的 back-end容器?
enter image description here
非常感谢!

最佳答案

您可以在此目录层次结构的根目录中创建一个docker-compose.yml文件,该文件将启动所有内容。

version: '3.8'
services:
frontend:
# Builds Dockerfile within that directory,
# can only reference files within this directory
build: angular_front_end
ports: ['3000:3000']
node:
build: node_back_end
php:
build: php_back_end
如果这些服务需要数据库或其他Docker资源,则都需要在此顶层 docker-compose.yml文件中将它们全部复制。
原则上可以重用现有的Compose文件,但是您会遇到两个大问题。每次运行 docker-compose -f命令时,您都需要始终使用多个 docker-compose选项;使用您的设置,该设置很快就会变得笨拙(即使只有三项服务)。同样, all filesystem paths are interpreted relative to the first -f option's path,所以像 build: .这样的声明将不会指向正确的位置。

关于docker - Docker为多个不同项目撰写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64424789/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com