открыт для всех извне? Какие есть варианты исправить это и улучшить безопасность?
version: '3'
services:
app:
container_name: app
build:
context: .
depends_on:
postgres:
condition: service_healthy
networks:
- main
restart: always
postgres:
container_name: postgres
image: postgres:15-alpine
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
ports:
- '5432:5432'
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- main
restart: always
healthcheck:
test: ['CMD', 'pg_isready']
interval: 10s
timeout: 5s
retries: 5
networks:
main:
volumes:
postgres_data:
1. Убрать маппинг порта на хост 2. Если порт нужен на хосте, закрыть его файрволлом извне
А можно по какому-то флагу включать/выключать маппинг порта? Для dev и prod режима
Можете написать скрипт, который будет поднимать контейнеры с нужными параметрами. Либо же 2 компоуз файла, docker-compose-dev.yml docker-compose-prod.yml Тут уже кто на что горазд. Полагаю, есть и еще варианты. Это первое, что пришло в голову
1) можете использовать хостовую сеть и в pg_hba прописать нужные IP 2) можно на уровне iptables открыть доступ к публикации порта только для определенных IP
Обсуждают сегодня