Docker作为开发环境-多个容器还是具有多个配置的单个容器?
我查看了有关这方面的问题和论坛,但我发现的都是关于生产使用的 我想用Docker Composer设置容器只是为了开发(所以我不必在每个系统上安装相同的完整堆栈) 假设我有一个带有php后端、html/js前端等的monorepo应用程序Docker作为开发环境-多个容器还是具有多个配置的单个容器?,docker,docker-compose,Docker,Docker Compose,我查看了有关这方面的问题和论坛,但我发现的都是关于生产使用的 我想用Docker Composer设置容器只是为了开发(所以我不必在每个系统上安装相同的完整堆栈) 假设我有一个带有php后端、html/js前端等的monorepo应用程序 nginx: image: nginx:alpine container_name: demo-nginx ports: - 80:80 - 8080:8080 - 8085:8085 volumes: - ..
nginx:
image: nginx:alpine
container_name: demo-nginx
ports:
- 80:80
- 8080:8080
- 8085:8085
volumes:
- ../:/var/www
- ./nginx:/etc/nginx/conf.d
networks:
- demo-network
depends_on:
- php
现在,当我想向nginx添加另一个站点时,我只需要定义端口并使用nginxserver{}
配置创建somesite.conf
但我想知道这是一种好的做法,还是更常见的做法是创建多个nginx容器?会慢一点吗?它有什么冒险吗
nginx-back:
image: nginx:alpine
container_name: backend-nginx
ports:
- 80:80
volumes:
- ../:/var/www
networks:
- demo-network
depends_on:
- php
nginx-front:
image: nginx:alpine
container_name: frontend-nginx
ports:
- 8085:80
volumes:
- ../:/var/www
networks:
- demo-network
这只是一个例子,可能会有更多的端点
其他可以在多个源上使用的容器也一样,比如Node。我可能会使用单个Nginx容器,并在单个端口上使用基于路径的路由。这有一个特别的优点,即基于浏览器的应用程序可以使用仅路径的URL
/api/object/1
来引用系统的其他部分,而不知道从哪个主机名提供服务。