0

I am using Docker, but not Swarm (or any other orchestration) for a project.

Is there a way to leverage Docker Secrets without Swarm?

2

You can use docker secrets a bit differently using docker-compose without having to use swarm. See this for the official documentation.

Example:

  1. Create a simple compose file like so,
version: "3.7"

services:

  db:
    image: mariadb:10.5.2
    env_file:
      - ./db.env
    secrets:
      - rootpass
      - dbpass
      - mysqldb
      - mysqluser
    restart: always
  1. 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
  1. 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.