反向代理中的所有 docker 个容器重定向到同一个域

All docker containers in reverse proxy redirecting to the same domain

我已经设置了一个 docker 服务器,其中我有 4 个 docker 容器 3 个有 wordpress,另一个有 contao .. 所有的 wordpress docker-compose.yml 文件一如既往地具有不同的域。但是,当我在浏览器中输入其他域时,它们都会将我重定向回其中一个域。我检查了日志,我可以看到有一个 301 wc,我知道这是一个重定向。那么有相同经历的人我该怎么办?

欢迎任何帮助。

create the docker container that will handle the reverese proxy

docker run --name nginx-proxy --net dockerwp -p 80:80 -p 443:443 -v ~/certs:/etc/nginx/certs -v /etc/nginx/vhost.d -v /usr/share/nginx/html -v /var/run/docker.sock:/tmp/docker.sock:ro --label com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy -d --restart always jwilder/nginx-proxy

create the docker container that will handle the SSL with lets encrypt
docker run --name letsencrypt-nginx-proxy-companion --net dockerwp -v ~/certs:/etc/nginx/certs:rw -v /var/run/docker.sock:/var/run/docker.sock:ro --volumes-from nginx-proxy -d --restart always jrcs/letsencrypt-nginx-proxy-companion

这就是我用来创建反向代理和 ssl 加密的方法。

version: '3'
services:
   db:
     image: mysql:latest
     container_name: letsencrypt-nginx-proxy-companion
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress
     networks:
      - dockerwp

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     expose:
       - "8081"
     restart: always
     environment:
       VIRTUAL_HOST: my.domain.com
       LETSENCRYPT_HOST: my.domain.com
       LETSENCRYPT_EMAIL: mymail@mail.com
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
     volumes:
       - ./wp-app:/var/www/hmtl
     networks:
       - dockernetwork

networks:
  dockernetwork:
    external:
      name: dockernetwork

这是我正在使用的 docker-compose.yml 文件之一,其余的只是更改公开的域和端口。

好吧,我想我终于弄清楚我的问题是什么并解决了。如果它对任何人有帮助,请确保每个容器都有不同的数据库配置,在我的例子中,我将所有数据库容器都设置为 bd,当我将它们更改为不同的名称时,一切正常。