Secrets in Docker without Swarm
You can use docker secrets a bit differently using docker-compose without having to use swarm. See this for the official documentation.
Example:

Create a simple compose file like so,

version: &quot;3.7&quot;

services:

  db:
    image: mariadb:10.5.2
    env_file:
      - ./db.env
    secrets:
      - rootpass
      - dbpass
      - mysqldb
      - mysqluser
    restart: always


Now add the following in the end

secrets:
  rootpass:
    file: /tmp/root_pass
  dbpass:
    file: /tmp/db_pass
  mysqldb:
    file: /tmp/mysql_db
  mysqluser:
    file: /tmp/mysql_user


Inside those files, keep your password, username, database name etc. in plain text. Then simply deploy the containers docker-compose up -d.

It's similar to how you define volumes and networks in a compose file.
Keep in mind that this isn't true secret implementation. Here's the github PR that added this feature, along with the main file if you're interested.