открыт для всех извне? Какие есть варианты исправить это и улучшить безопасность?
                  
                  
                  
                  
                  
                  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
Обсуждают сегодня