It is a way to manage sensitive data. You don’t put sensitive info to compose file. Instead, you create a separate file that includes the data.

services:
  db:
    image: postgres:latest
    secrets:
      - db_password
    environment:
      - POSTGRES_DB=my_database
      - POSTGRES_PASSWORD_FILE=/run/secrets/db_password # 👈 New line
        
        
secrets:
  db_password:
    file: ./db_password.txt