docker限制容器只能访问127.0.0.1才能通过nginx访问

问题描述 投票:0回答:0

我想要两项服务:

  • postgresql
  • 云海狸

我希望允许与 db 容器的外部连接,但限制对 cloudbeaver 的访问只能通过使用 nginx 主机的自定义域进行访问

下一个是我的 docker-compose.yml 文件,我能够访问 db 服务,但无法通过 127.0.0.1:15433 (又名 mysubdomain.domain.com)访问 cloudbeaver 容器

version: "3.8"
services:
  db:
    image: postgres:15
    container_name: local_pgdb
    restart: always
    ports:
      - "15432:5432"
    environment:
      POSTGRES_USER: "myuser"
      POSTGRES_PASSWORD: "mypassword"
    volumes:
      - local_pgdata:/var/lib/postgresql/data
    networks:
      - pgcloudbeaver-network-external
  cloudbeaver:
    image: dbeaver/cloudbeaver:23.1.3
    container_name: cloudbeaver_container
    restart: always
    ports:
      - "127.0.0.1:15433:8978"
    volumes:
      - cloudbeaver_data:/opt/cloudbeaver/workspace
    networks:
      - pgcloudbeaver-network-external

volumes:
  local_pgdata:
  cloudbeaver_data:

networks:
  pgcloudbeaver-network-external:
    driver: bridge

如果我删除 127.0.0.1,我可以通过 mydomain.com:15433 以及子域和 nginx 代理(mysubdomain.mydomain.com)进行访问,但我不想要这个,实际上我想限制公众对 cloudbeaver 的访问通过港口。

关于我能做什么有什么建议吗?

提前致谢

docker docker-compose nginx-reverse-proxy
© www.soinside.com 2019 - 2024. All rights reserved.