Секреты Docker в docker-compose.yml

У меня возникли проблемы с использованием секретов докера в docker-compose. Вот мой yml:

version: '3.6'

secrets:
  aws_bucket_name:
    file: ./secrets/aws_bucket_name.txt

services:
  my-service-name:
    image: my-service-name
    secrets:
      - aws_bucket_name
    build:
      context: .
      dockerfile: Dockerfile-dev
    volumes:
      - ./:/my-service-name
    ports:
      - 3000:3000
      - 9229:9229
    environment:
      AUTH_BASICAUTH_ENABLED: "true"
      NODE_ENV: "development"

Итак, если я правильно понимаю, у меня должен быть файл aws_bucket_name.txt в моем проекте в папке секретов, это правда.

Я пытаюсь загрузить данные из этого файла через aws_bucket_name.

Когда я собираю docker-compose, я получаю эту ошибку:

ОШИБКА: для iothubtelemetryadapter_my-service-name_1 Невозможно создать контейнер для службы my-service-name: неверная конфигурация монтирования для типа "bind": неверный путь монтирования: "C:/Users/anton.smatanik/Documents/project_name/secrets/aws_bucket_name.txt'путь монтирования должен быть абсолютным

Вот моя структура проекта:

1 ответ

Насколько я понимаю, вы просто объявляете свой секрет, но не используете его как значение.

Попробуйте ввести свой секрет как значение фактической переменной, которую вы хотите скрыть.

Бывший:

      version: '3.3'
services:
 my-service:
  image: my-image
  secrets: secret-db-string
  environment:
  - db_connection_string=secret-db-string
secrets:
 secret-db-string:
  file: ./path/to/secret/file
Другие вопросы по тегам