gpt4 book ai didi

docker - 将 docker-compose 部署为 yml 以便能够使用相同的端口进行扩展

转载 作者:行者123 更新时间:2023-12-02 18:23:49 24 4
gpt4 key购买 nike

我已经成功地使用 docker-machine 部署了 docker-compose.yml。我遇到的问题是缩放。尝试扩展使用端口 3000 的 node.js 应用程序。如何扩展 docker-compose 服务。我知道我可以使用 docker-compose scale web=3在一组 1 个节点(服务器)中,但这不起作用,因为我指定了端口 3000,这会导致冲突。

如何在不使用 HAProxy 或 Nginx 的情况下让它以动态方式工作?

Dockerfile

FROM node:wheezy
# replace this with your application's default port
EXPOSE 3000
ADD . /install
WORKDIR /install
ENV NODE_PATH /usr/local/lib/node_modules/
RUN npm install -g $(cat packages) && rm -rf npm_cache /tmp/* && npm install
# Install node modules and start
CMD ["npm", "install"]
CMD ["node", "."]

docker -compose.yml
version: "2"
services:
web:
build: .
ports:
- "3000:3000"
links:
- mongo
environment:
- "affinity:image==node:wheezy"
mongo:
image: mongo
volumes:
- ./appdb:/data/db
volumes:
mongo-data:
driver: local

最佳答案

由于您实际上是绑定(bind)到主机,因此如果没有代理或负载平衡器,就不可能。

通过 GitHub 看到有关该主题的此问题,其中用户提出了类似的问题:

https://github.com/docker/compose/issues/3088

这是一个示例,说明如何使用负载均衡器进行操作,使其变得简单:

https://github.com/vegasbrianc/docker-compose-demo/blob/master/docker-compose.yml

关于docker - 将 docker-compose 部署为 yml 以便能够使用相同的端口进行扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39675570/

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