首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头工人-规模容器上的警告

问码头工人-规模容器上的警告
EN

Stack Overflow用户
提问于 2020-11-02 12:09:34
回答 1查看 226关注 0票数 3

我有一个码头-撰写文件:

代码语言:javascript
复制
version: "3.8"
services:

  web:
    image: apachephp:v1
    ports:
      - "80-85:80"
    volumes:
      - volume:/var/www/html
    network_mode: bridge

  ddbb:
    image: mariadb:v1
    ports:
      - "3306:3306"
    volumes:
      - volume2:/var/lib/mysql
    network_mode: bridge
    environment:
      - MYSQL_ROOT_PASSWORD=*********
      - MYSQL_DATABASE=*********
      - MYSQL_USER=*********
      - MYSQL_PASSWORD=*********

volumes:
  volume:
    name: volume-data
  volume2:
    name: volume2-data

运行此命令时:

代码语言:javascript
复制
docker-compose up -d --scale web=2

它也能工作,但收到以下警告:

代码语言:javascript
复制
WARNING: The "web" service specifies a port on the host. If multiple containers for this service are created on a single host, the port will clash.

有人能帮忙避免这些警告吗?,谢谢你提前。

诚挚的问候。

EN

回答 1

Stack Overflow用户

发布于 2022-02-04 11:20:26

我想,您在不知道特定容器的端口的情况下访问web服务,并将请求分发到这里的容器。如果要做到这一点,您需要系统configuration.In的负载平衡机制--下面的示例中,我将使用NGINX作为负载均衡器。

代码语言:javascript
复制
version: "3.8"
services:

  web:
    image: apachephp:v1
    expose: # change 'ports' to 'expose'
      - "7483" # <- this is web running port (Change to your web port) 
    ....

ddbb:
    ....
## New Start ##
nginx:
    image: nginx:latest
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - web # your web service name
    ports:
      - "80:80"
## New End ##
    
volumes:
  ...

因此,如果要缩放服务,则不需要将端口80-85:80从web服务映射到主机端口。因此,我从Docker撰写文件中删除了端口映射配置,并且只公开了上面所述的端口:

在nginx服务中,我向该服务器的主机容器添加端口映射。例如,我将NGINX配置为侦听端口4000,这就是为什么我们必须为这个端口添加端口映射。

nginx.conf文件内容:

代码语言:javascript
复制
user  nginx;

events {
    worker_connections   1000;
}
http {
        server {
              listen 4000;
              location / {
                proxy_pass http://pspdfkit:5000;
              }
        }
}

您将找到这里的更多详细信息,以使用Docker在开发中运行多个服务实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64645349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档