如何限制postgresql docker容器的远程访问?

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

我使用docker-compose开发了一个网站,其中包括一个Postgresql数据库。我把它部署在服务器上,使用相同的 docker-compose.yml 文件,但我发现我可以使用psql远程访问我的postgres服务器。

目前我在我的docker-compose里有这样几行字

version: '3.6'

services:
  db:
    image: postgres
    ports:
      - 5432:5432
    environment:
      POSTGRES_DB: my_website
      POSTGRES_USER: my_website
      POSTGRES_PASSWORD: my_password

有谁知道我如何才能只允许从docker网络内访问postgres数据库,从而使其不能从主机操作系统之外访问?

postgresql docker security networking docker-compose
1个回答
1
投票

目前,你正在绑定端口 5432 在docker容器内,通过使用 ports 指令。要想让端口只在你的本地docker网络中访问,请修改 portsexpose

version: '3.6'
services: 
  db: 
    image: postgres 
    expose: 
      - "5432"
     environment: 
      POSTGRES_DB: my_website
      POSTGRES_USER: my_website
      POSTGRES_PASSWORD: my_password
© www.soinside.com 2019 - 2024. All rights reserved.