在我的项目中,我使用Django和nginx,但是我想通过phpmyadmin来管理我的云数据库。
Django运行得很好,但我不能用phpmyadmin做同样的事情,因为它在localhost:8080的apache中运行,而我想让它在localhost/phpmyadmin的nginx中运行。
这里是docker-compose.yml
version: "3.9"
services:
web:
restart: always
build:
context: .
env_file:
- .env
volumes:
- ./project:/project
expose:
- 8000
nginx:
restart: always
build: ./nginx
volumes:
- ./static:/static
ports:
- 80:80
depends_on:
- web
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
environment:
PMA_HOST: <host_address>
PMA_USER: <user>
PMA_PASSWORD: <password>
PMA_PORT: 3306
UPLOAD_LIMIT: 300M
ports:
- 8080:80
和nginx默认配置文件
upstream django{
server web:8000;
}
server{
listen 80;
location / {
proxy_pass http://django;
}
location /pma/ {
proxy_pass http://localhost:8080/;
proxy_buffering off;
}
location /static/ {
alias /static/;
}
}
我希望有人能够告诉我如何让nginx作为phpMyAdmin docker容器的反向代理工作。
如果遗漏了一些重要信息,请告诉我。
1条答案
按热度按时间juzqafwq1#
你可以用另一个docker容器的主机名和内部端口(不是公开的那个)来访问它。另外,重写url是必要的。
我用这个docker-compose进行了测试。yml: