如何解决nginx不在80以外的端口上在docker上侦听pgadmin
我的服务器上正在运行多个项目,我无法使用端口80。
在此Docker中,除了Pgadmin之外,其他所有东西都可以正常工作。无论我更改代码多少,在
有人可以引导我吗?
nginx.conf:
upstream app_server {
server gis_app:8095;
}
upstream pg_server {
server gis_pgadmin:5555;
}
server {
listen 8090;
server_name localhost;
client_max_body_size 200M;
location / {
proxy_pass http://app_server;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_redirect off;
}
location /static/ {
alias /srv/gis/static/;
}
location /media/ {
alias /srv/gis/media/;
}
location /pgadmin/ {
proxy_pass http://pg_server;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
docker-compose.yml:
version: '3'
services:
gis_app:
container_name: gis_app
restart: unless-stopped
build: .
volumes:
- .:/srv/gis/src
- gis_static_volume:/srv/gis/static
- gis_media_volume:/srv/gis/media
networks:
- gis_nginx_network
- gis_db_network
- gis_redis_network
depends_on:
- gis_db
- gis_redis
gis_nginx:
image: nginx:latest
container_name: gis_nginx
restart: unless-stopped
ports:
- 8090:8090
volumes:
- ./config/nginx:/etc/nginx/conf.d
- gis_static_volume:/srv/gis/static
- gis_media_volume:/srv/gis/media
depends_on:
- gis_app
networks:
- gis_nginx_network
gis_db:
image: kartoza/postgis
container_name: gis_db
restart: unless-stopped
env_file:
- config/.env
networks:
- gis_db_network
volumes:
- gis_db_volume:/var/lib/postgresql
gis_pgadmin:
image: dpage/pgadmin4
container_name: gis_pgadmin
depends_on:
- gis_db
ports:
- 5555:8090
networks:
- gis_db_network
- gis_nginx_network
env_file:
- config/.env
gis_redis:
image: redis
container_name: gis_redis
command: >
--requirepass password
restart: unless-stopped
networks:
- gis_redis_network
networks:
gis_nginx_network:
driver: bridge
gis_db_network:
driver: bridge
gis_redis_network:
driver: bridge
volumes:
gis_static_volume:
gis_media_volume:
gis_db_volume:
和pgadmin env:
PGADMIN_DEFAULT_EMAIL=mail@info.com
PGADMIN_DEFAULT_PASSWORD=password
PGADMIN_LISTEN_PORT=5555
解决方法
由于PGADMIN_LISTEN_PORT=5555
正在监听端口5555
因此,gis_pgadmin
容器应在该端口5555
上监听
Nginx将从8090
-> 5555
gis_pgadmin:
image: dpage/pgadmin4
container_name: gis_pgadmin
depends_on:
- gis_db
ports:
- 5555:5555
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。