【发布时间】:2020-06-19 17:07:33
【问题描述】:
我想使用一个 dockerized SQL 数据库服务器、一个额外的客户端(这里是:phpmyadmin)和一个反向代理来使客户端接口可以从外部服务器访问。
到目前为止,我使用了这个 docker-compose 文件:
version: '3'
services:
mariatest:
image: mysql
restart: always
networks:
- dbnet
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: test
MYSQL_USER: test
MYSQL_PASSWORD: test
phpmatest:
depends_on:
- mariatest
image: phpmyadmin/phpmyadmin
restart: always
networks:
- dbnet
ports:
- "9080:80"
environment:
MYSQL_ROOT_PASSWORD: password
PMA_HOST: mariatest
reverse:
image: nginx
networks:
- dbnet
ports:
- "8000:80"
volumes:
- /var/dockervolumes/nginx:/etc/nginx
networks:
dbnet:
从卷中取出我得到的 nginx default.conf 文件为
server {
listen 80;
server_name localhost;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_pass http://localhost:9080/;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
当使用带有http://localhost:9080 的本地机器时,我可以毫无问题地使用 PMA。尝试使用反向代理地址 (http://localhost:8000) 时,我只收到一个 nginx 错误,我正在寻找的页面不可用。在日志中,我看到反向代理在 connect() 上失败,连接被拒绝。
这样的设置我缺少什么?
【问题讨论】:
标签: docker nginx docker-compose