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