在NGINX中使用不同的端口为每个PHPMyAdmin服务配置代理,并在docker-compose文件中将相应的PHPMyAdmin容器端口映射到主机上。以下是具体步骤和示例代码:
server {
server_name phpmyadmin1.example.com;
listen 8081;
location / {
proxy_pass http://phpmyadmin1_container:80/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
server_name phpmyadmin2.example.com;
listen 8082;
location / {
proxy_pass http://phpmyadmin2_container:80/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
version: '3'
services:
phpmyadmin1:
image: phpmyadmin
container_name: phpmyadmin1_container
labels:
- "traefik.enable=false"
ports:
- "8081:80"
environment:
PMA_HOST: mysql1
phpmyadmin2:
image: phpmyadmin
container_name: phpmyadmin2_container
labels:
- "traefik.enable=false"
ports:
- "8082:80"
environment:
PMA_HOST: mysql2
请注意,这里的traefik.enable=false
标签用于禁用Traefik代理服务,因为我们想使用NGINX来处理代理。
这样,我们现在就可以在不同的域名下使用