提问人:Samith Perera 提问时间:11/17/2023 最后编辑:Samith Perera 更新时间:11/20/2023 访问量:23
如何使用 smillar 服务名称扩展 docker compose 文件?
How to extend docker compose files with smillar service names?
问:
在我的方案中,我的目标是通过 Docker Compose 在各种环境中部署 Docker 容器,每个环境都有特定的用户要求。因此,我们选择使用多个 Docker Compose 文件。为了加强管理,我们试图创建一个集中的 compose 文件,并将其扩展到其他 Docker Compose 文件。鉴于我们在两个文件中使用相同的 Docker Compose 服务名称,完成此操作是否可行?
有没有人有如何做到这一点的例子?
答:
0赞
Samith Perera
11/17/2023
#1
找到了实现这一目标的方法,
这是我们主要的 docker-compose 文件,
version: '3.9'
services:
backend:
image: backend:latest
container_name: backend
ports:
- "8080:8080"
env_file:
- ./env_files/common.env
- ./env_files/backend.env
frontend:
image: frontend:latest
container_name: frontend
ports:
- "8081:80"
env_file:
- ./env_files/common.env
- ./env_files/frontend.env
apigateway:
image: apigateway:latest
container_name: apigateway
ports:
- "80:80"
- "8888:8888"
env_file:
- ./env_files/common.env
- ./env_files/apigateway.env
然后我们通过扩展主 docker-compose 创建了一个单独的文件,
version: '3.9'
services:
backend:
extends:
file: docker-compose.yaml
service: backend
frontend:
extends:
file: docker-compose.yaml
service: frontend
apigateway:
extends:
file: docker-compose.yaml
service: apigateway
environment:
- DOCKER_BACKEND_URL=example.com
extra_hosts:
- "host.docker.internal:host-gateway"
评论