首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用bitnami nginx容器服务多个容器

如何使用bitnami nginx容器服务多个容器
EN

Stack Overflow用户
提问于 2022-03-07 14:13:09
回答 1查看 198关注 0票数 0

我在一个服务器中有容器:

  1. web-zamrud api-zamrud和db-zamrud,它们都使用了名为zamrud网络的坞桥。
  2. berlian和db-berlian,它们都使用了名为berlian的坞桥。
  3. nginx容器提供web和web。

下面是zamrud集装箱码头-组合

代码语言:javascript
复制
services:
  api-zamrud:
    image: registry.gitlab.com/zamrud/zamrudapi
    container_name: api-zamrud
    networks:
      - zamrud-network

  web-zamrud:
    image: registry.gitlab.com/zamrud/zamrudweb
    container_name: web-zamrud
    networks:
      - zamrud-network

networks:
  zamrud-network:
    external: true

以下是柏莲集装箱码头组成

代码语言:javascript
复制
services:
  api-berlian:
    image: registry.gitlab.com/berlian/berlianapi
    container_name: api-berlian
    networks:
      - berlian-network

  web-berlian:
    image: registry.gitlab.com/berlian/berlianweb
    container_name: web-berlian
    networks:
      - berlian-network

networks:
  berlian-network:
    external: true

下面是bitnami nginx坞文件

代码语言:javascript
复制
services:
  nginx:
    image: docker.io/bitnami/nginx:1.21
    container_name: nginx
    volumes:
      - ./conf/zamrud.conf:/opt/bitnami/nginx/conf/server_blocks/zamrud.conf:ro
      - ./conf/berlian.conf:/opt/bitnami/nginx/conf/server_blocks/berlian.conf:ro
    networks:
      - zamrud-network
      - berlian-network
    ports:
      - "80:80"

下面是zamrud.conf

代码语言:javascript
复制
server {
    listen 80;
    listen [::]:80;

    server_name zamrud.com www.zamrud.com;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://web-zamrud;
        proxy_redirect off;
    }

    location /api {
      rewrite /api/(.*) /$1 break;

      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header HOST $http_host;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://api-zamrud:5000;
      proxy_redirect off;
    }
}

下面是berlian.conf

代码语言:javascript
复制
server {
    listen 80;
    listen [::]:80;

    server_name berlian.com www.berlian.com;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header HOST $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_pass http://web-berlian;
        proxy_redirect off;
    }

    location /api {
      rewrite /api/(.*) /$1 break;

      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header HOST $http_host;
      proxy_set_header X-NginX-Proxy true;

      proxy_pass http://api-berlian:5000;
      proxy_redirect off;
    }
}

如果我试图访问www.zamrud.com,网站的内容将被正确显示。

但是如果我尝试访问www.berlian.com,它会显示www.zamrud.com的内容。

我是不是错过了nginx的配置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 14:33:18

如果有人面临同样的问题,我所做的就是把bitnami nginx容器放下。

代码语言:javascript
复制
docker-compose down

然后再打开bitnami nginx容器

代码语言:javascript
复制
docker-compose up -d

注意:

bitnami nginx docker -组合的文件名是docker-compose.yaml我在与docker-compose.yaml相同的文件夹中上下运行该对接器。

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

https://stackoverflow.com/questions/71382402

复制
相关文章

相似问题

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