0

我已经设置了一个 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 文件之一,其余的只是更改公开的域和端口。

4

1 回答 1

0

好的,我想我终于弄清楚了我的问题并解决了它。如果它对任何人有帮助,请确保每个容器都有不同的数据库配置,在我的情况下,我将所有数据库容器都作为 bd,当我将它们更改为不同的名称时,一切都很好。

于 2017-12-12T10:19:16.100 回答